当前位置: 首页 > 面试题库 >

ReactTestUtils已被移动

韶云瀚
2023-03-14
问题内容

我开始学习React,在做一些测试时,我注意到了两条警告消息:

警告:ReactTestUtils已移至react-dom / test-utils。更新引用以删除此警告。

警告:浅层渲染器已移至react-test-renderer / shallow。更新引用以删除此警告。

它们不会阻止测试运行或无法正确验证,但是始终会出现此错误。

通过查看文档,我找到了此页面,即使在我添加了他们推荐的那些行之后,警告消息仍在显示。

我正在尝试一个非常简单的测试,这是我的代码:

import React from "react";
import toJson from "enzyme-to-json";
import { shallow } from "enzyme";
import { About } from "./About";

describe('Rendering test', () => {
    const component = shallow(<About />);
    const tree      = toJson(component);

    it('Should render the About component', () => {
        expect(tree).toMatchSnapshot();
    })

    it('Should not contain an h2 element', () => {
        expect( component.contains('h2') ).toBe(false);
    })
})

为了解决此警告,我需要做什么?我已经将所有打包的软件更新为最新版本。


问题答案:

我认为它shallow来自酶的渲染功能,该功能尚未针对v15.5进行更新(尽管有拉动请求)。

您可以尝试使用其他渲染功能(rendermount)之一,但这会改变测试的语义(并且可能会或可能不会产生警告)。

您的另一选择是不使用酶而react-test- renderer/shallow自己使用,但是酶API对于测试组件非常有用。

我的建议是等待酶的版本,并暂时保留警告。



 类似资料:
  • 问题内容: 我有一个用Restify和Mongoose在node.js中构建的REST服务,以及一个mongoDB,它的集合包含大约30.000个常规大小的文档。我的节点服务通过pmx和pm2运行。 昨天,节点突然开始通过消息“ MongoError:拓扑已被破坏”消除错误,仅此而已。我不知道这是什么意思,可能触发了什么。谷歌搜索时也没有太多发现。所以我想在这里问。 今天重新启动了节点服务后,错误

  • 我从堆栈跟踪中找不到谁在调用 Android Studio版本:3.4 Gradle版本5.1.1

  • 问题内容: 我正在遵循http://docs.oracle.com/javase/tutorial/networking/datagrams/broadcasting.html上的UDP教程,现在我已经复制并编译了所有代码,如果我先编译客户端然后再编译服务器,服务器在控制台中将其打印出来 QuoteServerThread行19是 MulticastServerThread行10是 Multica

  • 我正在尝试将一些Symfony 3代码重构为Symfony 4。 我得到以下错误时,试图登录: 编译容器时,“monolog.logger.db”服务或别名已被删除或内联。您应该将其公开,或者停止直接使用conta iner,改用依赖项注入。 我的日志代码: 独白配置: app.monolog.db_handler config(注意,我在这里尝试了,但没有影响: 我怎样才能在Symfony 4中

  • 我只是迁移到Spring mvc版本,但突然在eclipse STS WebMvcConfigrerAdapter中被标记为不建议使用 我怎么才能把它拿走!

  • void is_cached(string template, [string cache_id]) This returns true if there is a valid cache for this template. This only works if caching is set to true. 在指定模板的缓存存在是返回真。只有在缓存设置为真时才可用。 Example 13-18