gpt4 book ai didi

javascript - Jest 的顺序测试场景

转载 作者:行者123 更新时间:2023-11-28 20:27:54 25 4
gpt4 key购买 nike

我已经开始使用 create-react-app对于我的 React 项目,它作为一个测试库附带了 Jest .

作为我的 React 应用程序的一部分,我喜欢创建集成测试(以及单元测试),因为我发现能够检查应用程序中的快乐路径是否按预期工作非常有用.例如:使用 Enzyme 呈现(装载)页面,但只模拟 http 调用(使用 Sinon ),以便立即执行完整的 React/Redux 流程。

在使用create-react-app之前,我使用了Mocha进行测试,发现mocha-steps成为集成测试的一个很好的扩展,因为它允许按顺序执行组中的测试,并在步骤失败时处理停止而不停止整个测试运行。

问题:有没有办法让 Jest 以类似的方式运行?具体来说,我希望能够在一个组中指定一系列测试(例如在 describe) 并让它们按顺序依次执行。

我一直在查看 Jest 文档或任何其他扩展它的库,但我一无所获。目前,感觉唯一的选择是进行一次大型测试,这让我很难过,如果可以避免的话,我宁愿不要将 Jest 换成 Mocha。

谢谢!

最佳答案

jest 目前不支持将特定测试标记为连续运行(如 avatest.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 然后可以先运行并发测试,然后再运行串行测试。

关于javascript - Jest 的顺序测试场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46480046/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com