问题标签 [jestjs]
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.
unit-testing - 在 Jest 中要求 superagent 会导致错误
运行 Jest 测试时出现以下错误:
如果 Jest 自动模拟出依赖项,那么任何需要的文件都不应该superagent
得到模拟superagent
吗?我拥有的所有甚至使用它发出 http 请求的功能都已被模拟为只返回测试数据而不发出请求。我不明白为什么我会收到错误。
更新
我尝试了此处找到的手动模拟。它仍然给我同样的错误。
mocking - 如何使用 Jest 模拟对象中的特定函数?
我正在使用 Jest 测试一个 React/Reflux 应用程序。我在商店中有以下功能:
我试图模拟它,以便它只做它需要做的事情而不做实际的网络工作:
但是,似乎甚至从未创建过模拟函数。当我运行测试时,控制台仍然会记录ORIGINAL LOAD
.
覆盖对象方法的正确方法是什么,而不是通过执行 ajax 调用来设置posts
数组,而只是用测试数据设置它?PostStore
javascript - Jest Q 承诺测试,无需手动模拟
是否可以在不手动模拟的情况下测试Q
Promise 库Jest
?
jestjs - 是否有一个开玩笑的配置会导致 console.warn 上的测试失败?
如何配置笑话测试以失败警告?
unit-testing - 使用 Jest 手动模拟多个 CommonJS 模块
我使用mocks文件夹看到了 Jest 模拟的文档,但我希望能够在一个测试中用一个模拟模拟一个模块,并在另一个测试中用另一个模拟模拟同一个模块。
例如,使用 rewire 和 jasmine,您可以执行以下操作:
这可能与Jest有关吗?不同之处在于我在测试中定义了模拟,而不是在用于所有测试的某个外部文件夹中。
javascript - 测试 React 表单组件
在我的类似教程的应用程序中,我有一个AddForm组件:
团队行动:
如您所见,我在这里使用 McFly 和 React-Bootstrap。
现在我想用 jest 来测试它。
我想有以下测试用例:
1)如果有人试图提交一个空输入的表单,什么都不会发生(更具体地说——TeamActions mock 上不应该有交互)
2) 如果提交的表单具有有效的名称和评级,那么应该正确调用 TeamActions mock
3) 如果提交的表单具有有效的姓名和评级,则应清理姓名和评级输入。
我该如何测试它?我是否应该使用 react 的 TestUtils 以某种方式访问 DOM?
我应该以某种方式模拟表单提交吗?如果是这样,我该怎么做?
最后一件事 - 我的 AddForm 依赖于 TeamActions。通过写作:
是开玩笑指示模拟所有这些依赖项(react、react-bootstrap、team_actions)还是我应该以某种方式自己模拟 TeamActions?
// 编辑:
因为有人说我在一个话题上问了太多问题,具体来说:
如何使用 TestUtils 模拟具有特定负载的表单提交?我需要自己模拟 TeamActions 还是自动为我模拟?
node.js - 如何使用 Jest 测试单个文件?
我可以使用 Jest 测试多个文件,但我不知道如何测试单个文件。
我有:
- 跑
npm install jest-cli --save-dev
- 更新
package.json
:`{ ...“脚本”:{“测试”:“开玩笑”} ...} - 写了一些测试。
运行npm test
按预期工作(目前它运行 14 个测试)。
如何测试单个文件,例如 test app/foo/__tests__/bar.spec.js
?
我尝试运行npm test app/foo/__tests__/bar.spec.js
(从项目根目录),但出现以下错误:
npm 错误!错误:ENOENT,打开 '/node_modules/app/foo/ tests /bar.spec.js/package.json'
reactjs - 测试在渲染中呈现状态变量的 React 组件时无法读取状态对象的属性
我正在尝试测试一个组件,该组件具有来自它的渲染()中显示的状态对象的值。
我已将有问题的组件简化为这个简单的测试组件以进行复制。我正在使用 React 0.12.2。
我正在填充我的“报告”以getIntitialState's
调用getStateFromStores()
. 在测试中,虽然这个值是空的,但我认为是导致错误的原因。
当然,检查是否已定义的条件检查会起作用,但是必须对所有通过 state 填充的this.state.report
打印在 a 中的变量设置条件似乎有点多。render()
测试组件
考试
理想情况下,我想renderIntoDocument()
在测试中调用之前预先填充组件的状态,因为那是它失败的地方。
我收到此失败:
renderIntoDocument()
在我的测试调用之前,我不确定如何为这个组件预加载状态,这应该可以解决问题。
我也考虑过尝试模拟getIntitialState()
这个组件,但必须有更好的方法。
关于如何测试这个的任何想法?
jasmine - React.js 组件实例道具不能通过 Jest 模拟?
我想知道为什么我的模拟似乎没有覆盖组件的 onclick 方法。实际上确实如此,除非我模拟点击。
作为参考,我一直在使用这个:Test a React Component function with Jest
jestjs - 更改测试目录搜索位置时,Jest 单元测试失败
我遇到了一个关于 jest 的奇怪问题:更改 jest 查找其测试文件的位置似乎会破坏测试。
我已将其缩小到一个非常小的可重现案例。
这个笑话配置,在我们的
package.json
成功设置:像这样:
/li>这个笑话配置会导致两个测试之一失败。唯一的变化是更改它查找
__tests__
目录的根目录。有一个看起来像这样的奇怪异常(为了简洁而省略并为了可读性而重排):
/li>
我们的源代码树(为简洁起见也省略了)如下所示: