目前,我有两个文件夹:__tests__
用于单位(快速)测试,__integration__
用于慢速测试。
然后,在package.json
:
{
"scripts": {
"test": "jest",
"test:integration": "jest -c '{}'",
...
},
"jest": {
"testPathIgnorePatterns": ["/node_modules/", "__integration__"]
}
}
因此,当我想要进行TDD时,我只运行npm test
,当我想测试整个项目时,npm run test:integration
。
由于Jest是以" no配置"测试框架,我在想是否有更好(或适当)的方式来配置它。
谢谢。
答案 0 :(得分:8)
引用此post。
您可以尝试名称文件,如:
index.unit.test.js
和api.int.test.js
借助Jest的模式匹配功能,它使运行变得简单 它们也是分开的。对于单元测试运行
jest unit
和for 集成测试运行jest int
。
您可以根据您的偏好定义文件结构/位置,因为基于文件名的模式匹配是jest知道运行的方式。
另见jest cli documentation about npm scripts:
如果您通过
之间插入npm test
运行Jest,您仍然可以使用命令行 通过在--
和Jest参数npm test
来创建参数
答案 1 :(得分:4)
您是否尝试过jest --watch
用于TDD?它仅运行与您的git更改相关的文件,首先运行错误并大量利用缓存来提高速度。
除此之外,jest -c
accepts a path,不是字符串。如果 jest-integration-config.json 位于项目的根目录中,那么jest -c jest-integration-config.json
应该很好。