问题描述
我正在运行 jest --watchAll
,每当我更新测试文件时,jest 都会重新运行所有测试除了对于刚刚更新的测试文件(大多数 的时间)。例如,假设我有:
tests/
a-test.js
b-test.js
c-test.js
运行 jest --watchAll
最初为我提供了全面覆盖:
PASS tests/a-test.js
PASS tests/b-test.js
PASS tests/c-test.js
并且,编辑包中的任何文件除了这三个文件将成功重新运行所有测试。但是,对这三个中的任何一个进行编辑都会完全忽略刚刚编辑的文件运行。例如,如果我编辑 b-test.js
,我通常会看到:
PASS tests/a-test.js
PASS tests/c-test.js
如果恰好启用了覆盖率,则 b-test.js
覆盖的所有文件都显示为 0% 的覆盖率。
我在 pixelbook 的 linux 环境中运行它,通过一个纱线脚本目标:
"scripts": [
...
"test:watch": "jest --watchAll",...
]
Jest 配置:
"jest": {
"testRegex": [
"(tests|use-cases)/.*\\.js$"
],"modulefileExtensions": [
"js","json"
],"testEnvironment": "jsdom","testURL": "http://localhost/","collectCoverage": true,"coverageThreshold": {
"global": {
"branches": 0,"functions": 0,"lines": 0,"statements": 0
}
},"collectCoverageFrom": [
"lib/**/*.js"
],"coveragePathIgnorePatterns": [
"/node_modules/"
]
},
在没有 --watch
或 --watchAll
的情况下运行似乎每次都能找到所有测试。
可能会发生什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)