Jest 的顺序测试场景
Sequential test scenarios for Jest
我已经开始使用create-react-app
for my React projects, and as a testing library it comes with Jest。
作为我的 React 应用程序的一部分,我喜欢创建 集成测试 (以及单元测试),因为我发现能够检查应用程序按预期工作。例如:使用 Enzyme, but only mock out the http calls (using Sinon) 呈现(装载)页面,以便立即执行完整的 React/Redux 流程。
在使用 create-react-app
之前,我使用 Mocha 进行测试,我发现 mocha-steps
是集成测试的一个很好的扩展,因为它允许按顺序执行组中的测试, 并在步骤失败时处理停止而不停止整个测试 运行.
问题:有没有办法让 Jest 以类似的方式运行?具体来说,我希望能够在一个组中指定一系列测试(例如在 describe
) 中并让它们按顺序执行。
我一直在查看 Jest 文档或任何其他扩展它的库,但我一无所获。目前,感觉唯一的选择就是进行一次大型测试,这让我很伤心,如果可以避免的话,我宁愿不要将 Jest 换成 Mocha。
谢谢!
jest
目前不支持将特定测试标记为 运行 连续(如 ava
的 test.serial
)。
这已经 requested before 但我认为他们没有在努力。
解决方法是让您确定哪些测试文件要同时运行,哪些测试文件要连续运行。
例如,我通常用 *.test.js
命名我的单元测试,用 *.spec.js
命名我的集成测试。
然后我可以 运行 我的单元测试同时进行。
$ jest '(/__tests__/.*\.test)\.js$'
而且我可以 运行 我的连续集成测试。
$ jest '(/__tests__/.*\.spec)\.ts$' --runInBand
我可以在 package.json
中将两者结合起来。
"scripts": {
"unit": "jest '(/__tests__/.*\.test)\.js$'",
"integration": "jest '(/__tests__/.*\.spec)\.ts$' --runInBand",
"test": "npm run unit && npm run integration"
}
运行 npm test
然后可以 运行 先并发测试,然后是串行测试。
我已经开始使用create-react-app
for my React projects, and as a testing library it comes with Jest。
作为我的 React 应用程序的一部分,我喜欢创建 集成测试 (以及单元测试),因为我发现能够检查应用程序按预期工作。例如:使用 Enzyme, but only mock out the http calls (using Sinon) 呈现(装载)页面,以便立即执行完整的 React/Redux 流程。
在使用 create-react-app
之前,我使用 Mocha 进行测试,我发现 mocha-steps
是集成测试的一个很好的扩展,因为它允许按顺序执行组中的测试, 并在步骤失败时处理停止而不停止整个测试 运行.
问题:有没有办法让 Jest 以类似的方式运行?具体来说,我希望能够在一个组中指定一系列测试(例如在 describe
) 中并让它们按顺序执行。
我一直在查看 Jest 文档或任何其他扩展它的库,但我一无所获。目前,感觉唯一的选择就是进行一次大型测试,这让我很伤心,如果可以避免的话,我宁愿不要将 Jest 换成 Mocha。
谢谢!
jest
目前不支持将特定测试标记为 运行 连续(如 ava
的 test.serial
)。
这已经 requested before 但我认为他们没有在努力。
解决方法是让您确定哪些测试文件要同时运行,哪些测试文件要连续运行。
例如,我通常用 *.test.js
命名我的单元测试,用 *.spec.js
命名我的集成测试。
然后我可以 运行 我的单元测试同时进行。
$ jest '(/__tests__/.*\.test)\.js$'
而且我可以 运行 我的连续集成测试。
$ jest '(/__tests__/.*\.spec)\.ts$' --runInBand
我可以在 package.json
中将两者结合起来。
"scripts": {
"unit": "jest '(/__tests__/.*\.test)\.js$'",
"integration": "jest '(/__tests__/.*\.spec)\.ts$' --runInBand",
"test": "npm run unit && npm run integration"
}
运行 npm test
然后可以 运行 先并发测试,然后是串行测试。