问题标签 [react-test-renderer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
8002 浏览

reactjs - ReactTestUtils 已被移动

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

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

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

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

通过查看文档,我找到了这个页面,即使在我包含了他们推荐的那些行之后,警告消息仍然出现。

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

我需要做什么才能解决此警告?我已经将我所有的打包更新到了​​最新版本。

0 投票
0 回答
611 浏览

reactjs - 警告:浅渲染器已移至 react-test-renderer/shallow

在 React 应用程序中使用 jest 执行单元测试用例时,我收到以下警告:

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

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

我用过浅酶。还安装了所有需要的依赖项,但尽管测试用例执行良好,但仍然收到此警告。以下是包 json 快照:

我在 git here上发现了类似的问题,但对话如此繁琐且毫无成果,没有明确的解决方案。我将无法更新 React,因此正在寻找 v15.1 的修复程序。

这是我的测试文件:

0 投票
0 回答
288 浏览

reactjs - 渲染 Redirect 时在 react-test-renderer 中更新组件

我目前正在使用 react-router-dom 为我用 react-redux 编写的登录表单编写测试。

我的组件如下所示:

为了测试这个组件,我编写了以下测试:

此测试正确安装组件并“呈现”重定向,但它似乎也触发了更新。这会重新呈现重定向并在我的测试输出中给我以下警告:

如何防止出现此警告?

谢谢!

0 投票
1 回答
1164 浏览

reactjs - 如何在 React 中使用 babel-plugin-rewire?

我看到这个错误:

我的测试如下所示:

我的生产代码如下所示:

我究竟做错了什么?我希望断言在安装组件 Header 时调用了 profileAction() 。

0 投票
1 回答
10812 浏览

reactjs - React 测试按钮属性禁用

我无法为按钮属性编写正确的测试用例disable。我使用TestUtils来自react-addons-test-utils.

我有非常简单的组件:

我想编写测试来检查按钮是否被给定的道具禁用或未被禁用。测试如下所示:

而且这种测试的实现不起作用。第一次测试通过但第二次失败。

但是当 propTypes 设置为disabled: false而不是disabled: () => false两个测试都成功时。

问题是为什么测试是成功的,当函数disabled是一个等于 false 的布尔常量值并且当disabled一个函数返回时不起作用false

失败测试日志:

期望(收到).toEqual(期望)

0 投票
1 回答
1411 浏览

reactjs - 使用 mocha 测试反应组件时如何解决“找不到模块”错误

在我的所有组件中,我都导入了其他组件,例如

当我想测试一个组件时,我总是得到错误:

因为它假定了错误的路径。正确的导入方法是

这样测试就通过了,但我不想仅仅因为这个而重构所有组件。

有没有一种方法可以让我的导入语句保持原样并且仍然通过我的测试?

提前致谢!

0 投票
0 回答
1452 浏览

enzyme - 如何在反应中编写用于导航的开玩笑测试用例

我是 Jest 测试用例编写的新手,正在尝试编写测试用例以检查反应应用程序中的导航。

目前我已经编写了如下工作的测试用例:我有登录页面,上面有注册链接,它将用户重定向到注册页面。所以我要检查的是 1. 加载登录页面 2. 触发注册链接点击事件 3. 所以用户移动到注册页面

但我无法检查注册页面是否已加载?有没有办法检查“注册”页面的快照和 URL 中的链接。

我使用了 jest、enzyme 和 react-test-render,如下面的代码所示。

登录页面 Html

在上面的代码寄存器中是用于导航的链接。

提前致谢...

0 投票
2 回答
623 浏览

jestjs - 使用 react-test-renderer 的 Jest 测试将未定义的属性值插入 DOM

我短暂地尝试在 react-test-renderer 源代码中找到它,但无法找到它。

回想一下,在 React 中,其值undefined未在 DOM 中呈现的组件元素属性。即,给定bat = undefined<Foo bar={bat} />bar属性不会出现在生成的 HTML 中。

我假设这是预期的行为,但我很困惑为什么当可选组件属性出现在 Jest 快照中的 JSON 树中时 - 除非快照只是确认该属性未指定(ws-automation-id是一个可选组件属性,它不定义了一个defaultProps条目):

给定

0 投票
1 回答
484 浏览

javascript - 在组件的函数中模拟 Promise 时保持“this”上下文

我遇到了一个问题,在我的方法this中测试某些逻辑时,我无法通过 Jest 引用关键字。componentDidMount因此,一旦我进入承诺响应,当我将鼠标悬停thisthis.props(或 this.setState)中时,它只会显示undefined.

这是我的 App 组件中的方法:

这是我对该组件的单元测试:

0 投票
0 回答
1041 浏览

javascript - 错误消息“console.error in react-test-renderer”(尽管测试仍然通过)

这是我的根组件:

还有一个非常简单的快照测试:

当我运行测试时,它通过了,但我在它下面收到以下错误消息:

因为测试通过了,这还重要吗?这是怎么回事?