167得票8回答
如何让Jest在期望断言之前等待所有异步代码执行完成

我正在为一个React应用编写集成测试,即测试许多组件的测试,并且我想模拟对任何外部服务的调用。 问题是测试似乎在异步回调执行之前执行,从而导致我的测试失败。 有没有什么方法可以解决这个问题?我能否以某种方式等待异步代码完成调用? 以下是一些糟糕的伪代码,以说明我的观点。 我希望测试当我挂载P...

166得票4回答
React Enzyme查找第二个(或第n个)节点

我正在使用Jasmine Enzyme浅层渲染测试React组件。 为了本问题的目的,这里进行了简化... function MyOuterComponent() { return ( <div> ... <MyInnerCompone...

160得票6回答
eslint 应该列在项目的 dependencies 中,而不是 devDependencies。

我可能还不完全理解 node 中的 dependencies 与 devDependencies 的区别,或者 eslint 在这里是错误的(无法正确分析): 3:1 error 'chai' should be listed in the project's dependenc...

160得票3回答
每个测试中如何更改Jest模拟函数的返回值?

我在组件测试文件中有一个类似这样的虚拟模块 jest.mock('../../../magic/index', () => ({ navigationEnabled: () => true, guidanceEnabled: () => true }))...

145得票9回答
在Jest中模拟按钮点击

模拟按钮点击似乎是一个非常简单/标准的操作。然而,在 Jest.js 测试中,我无法让它工作。 这是我尝试过的(也使用 jQuery 进行操作),但似乎没有触发任何事件:import { mount } from 'enzyme'; page = <MyCoolPage />; ...

142得票5回答
当我运行jest测试时,是否有选项可以显示所有测试描述?

我正在使用jest和enzyme与我的create-react-app项目。当我运行npm test时,我会得到一个输出,显示通过的测试文件的名称,但我希望输出还包括测试的名称。 示例: Button.test.js it ('renders button', () => { ...

138得票3回答
在Enzyme / React测试中,何时应该使用render和shallow?

在发布这个问题之前,我尝试在sqa stackexchange搜索,但我没有找到有关shallow和render的帖子,所以我希望有人能在这里帮助我。 在测试React组件时,何时应该使用shallow和render?根据airbnb文档,我对两者的区别做了一些看法: 由于shallow...

125得票17回答
酶 - 如何访问和设置<input>的值?

我对在使用 mount 时如何访问 &lt;input&gt; 的值感到困惑。这是我的测试代码: 我对在使用 mount 时如何访问 &lt;input&gt; 的值感到困惑。这是我的测试代码: it('cancels changes when user presses esc', do...

116得票23回答
错误提示:ReferenceError: 在 Jest 环境被关闭后,您正在尝试导入一个文件。

我有一个组件,使用了React Native中的Animated组件。我开始编写一个测试用例来模拟组件的onPress事件,这个事件会调用一个包含Animated.timing和setState函数的函数。 运行jest没有问题,但测试永远不会停止,并且一个之前编写的与此无关的测试用例现在似...

103得票8回答
Jest - 如何测试组件是否不存在?

如何检查组件是否不存在,即特定组件未被渲染?