问题标签 [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.

0 投票
0 回答
583 浏览

unit-testing - 在 Jest 中要求 superagent 会导致错误

运行 Jest 测试时出现以下错误:

如果 Jest 自动模拟出依赖项,那么任何需要的文件都不应该superagent得到模拟superagent吗?我拥有的所有甚至使用它发出 http 请求的功能都已被模拟为只返回测试数据而不发出请求。我不明白为什么我会收到错误。

更新

我尝试了此处找到的手动模拟。它仍然给我同样的错误。

0 投票
2 回答
26224 浏览

mocking - 如何使用 Jest 模拟对象中的特定函数?

我正在使用 Jest 测试一个 React/Reflux 应用程序。我在商店中有以下功能:

我试图模拟它,以便它只做它需要做的事情而不做实际的网络工作:

但是,似乎甚至从未创建过模拟函数。当我运行测试时,控制台仍然会记录ORIGINAL LOAD.

覆盖对象方法的正确方法是什么,而不是通过执行 ajax 调用来设置posts数组,而只是用测试数据设置它?PostStore

0 投票
0 回答
169 浏览

javascript - Jest Q 承诺测试,无需手动模拟

是否可以在不手动模拟的情况下测试QPromise 库Jest

0 投票
6 回答
10640 浏览

jestjs - 是否有一个开玩笑的配置会导致 console.warn 上的测试失败?

如何配置笑话测试以失败警告?

0 投票
1 回答
2364 浏览

unit-testing - 使用 Jest 手动模拟多个 CommonJS 模块

我使用mocks文件夹看到了 Jest 模拟的文档,但我希望能够在一个测试中用一个模拟模拟一个模块,并在另一个测试中用另一个模拟模拟同一个模块。

例如,使用 rewire 和 jasmine,您可以执行以下操作:

这可能与Jest有关吗?不同之处在于我在测试中定义了模拟,而不是在用于所有测试的某个外部文件夹中。

0 投票
1 回答
6215 浏览

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 还是自动为我模拟?

0 投票
31 回答
566683 浏览

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'

0 投票
1 回答
1282 浏览

reactjs - 测试在渲染中呈现状态变量的 React 组件时无法读取状态对象的属性

我正在尝试测试一个组件,该组件具有来自它的渲染()中显示的状态对象的值。

我已将有问题的组件简化为这个简单的测试组件以进行复制。我正在使用 React 0.12.2。

我正在填充我的“报告”以getIntitialState's调用getStateFromStores(). 在测试中,虽然这个值是空的,但我认为是导致错误的原因。

当然,检查是否已定义的条件检查会起作用,但是必须对所有通过 state 填充的this.state.report打印在 a 中的变量设置条件似乎有点多。render()

测试组件

考试

理想情况下,我想renderIntoDocument()在测试中调用之前预先填充组件的状态,因为那是它失败的地方。

我收到此失败:

renderIntoDocument()在我的测试调用之前,我不确定如何为这个组件预加载状态,这应该可以解决问题。

我也考虑过尝试模拟getIntitialState()这个组件,但必须有更好的方法。

关于如何测试这个的任何想法?

0 投票
0 回答
473 浏览

jasmine - React.js 组件实例道具不能通过 Jest 模拟?

我想知道为什么我的模拟似乎没有覆盖组件的 onclick 方法。实际上确实如此,除非我模拟点击。

作为参考,我一直在使用这个:Test a React Component function with Jest

0 投票
0 回答
1462 浏览

jestjs - 更改测试目录搜索位置时,Jest 单元测试失败

我遇到了一个关于 jest 的奇怪问题:更改 jest 查找其测试文件的位置似乎会破坏测试。

我已将其缩小到一个非常小的可重现案例。

  • 这个笑话配置,在我们的package.json成功设置:

    像这样:

    /li>
  • 这个笑话配置会导致两个测试之一失败。唯一的变化是更改它查找__tests__目录的根目录。

    有一个看起来像这样的奇怪异常(为了简洁而省略并为了可读性而重排):

    /li>

我们的源代码树(为简洁起见也省略了)如下所示: