Jestjs 如何在Jest上分离单元和集成/长时间运行的测试?

Jestjs 如何在Jest上分离单元和集成/长时间运行的测试?,jestjs,Jestjs,目前,我有两个文件夹:用于单元(快速)测试的\uuuuuuuuuuu测试,以及用于慢速测试的\uuuuuuuuuuuuuuuuuuu集成 然后,在package.json中: { "scripts": { "test": "jest", "test:integration": "jest -c '{}'", ... }, "jest": { "testPathIgnorePatterns": ["/node_modules/", "__integrat

目前,我有两个文件夹:用于单元(快速)测试的
\uuuuuuuuuuu测试
,以及用于慢速测试的
\uuuuuuuuuuuuuuuuuuu集成

然后,在
package.json
中:

{
  "scripts": {
    "test": "jest",
    "test:integration": "jest -c '{}'",
    ...
  },
  "jest": {
    "testPathIgnorePatterns": ["/node_modules/", "__integration__"]
  }
}
所以,当我想做TDD时,我只运行
npm测试
,当我想测试整个项目时,
npm运行测试:集成

由于Jest是作为“无配置”测试框架提供的,我在想是否有更好(或正确)的方法来配置它


谢谢。

你试过《开玩笑——观看TDD》吗?它只运行与git更改相关的文件,首先运行错误,并大量使用缓存来提高速度

除此之外,
jest-c
,不是字符串。如果jest-integration-config.json位于项目的根目录中,您应该会很好地使用
jest-cjest-integration-config.json

引用本文

您可以尝试以下名称文件:

index.unit.test.js
api.int.test.js

通过Jest的模式匹配功能,运行起来非常简单 它们也是分开的。对于单元测试,运行jest单元 集成测试运行
jest int

您可以根据自己的首选项定义文件结构/位置,因为基于文件名的模式匹配是jest知道运行什么的方式

另见:

如果您通过
npm test
运行Jest,您仍然可以使用命令行 通过在
npm test
和Jest参数之间插入
--
来获取参数


另外:如果您有名为
something.test.js
的单元测试和名为
somethingElse.int.test.js
的集成测试,那么您可以在单元测试运行中排除集成测试,并在正则表达式后面加上一个负数:
jest^((?!\.int)。*$