通过以下配置,更改testMatch
cli选项时,覆盖率报告会中断。我尝试设置collectCoverageFrom './src/*.js'
选项,但这也不能解决问题。
./src/sum.js
function sum(a, b) {
return a + b;
}
module.exports = sum;
./test/sum.js
const sum = require('../src/sum');
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
package.json
"devDependencies": {
"@babel/core": "^7.1.2",
"@babel/plugin-proposal-decorators": "^7.1.2",
"@babel/preset-env": "^7.1.0",
"@babel/register": "^7.0.0",
"babel-core": "7.0.0-bridge.0",
"babel-jest": "^23.6.0",
"jest": "^23.6.0"
},
"scripts": {
"test": "jest ./test/*.js --testMatch '**/*.js' --coverage --coverageDirectory './test-coverage'"
}
npm run test
的输出 PASS test/sum.js
----------|----------|----------|----------|----------|-------------------|
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |
----------|----------|----------|----------|----------|-------------------|
All files | Unknown | Unknown | Unknown | Unknown | |
----------|----------|----------|----------|----------|-------------------|
Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 1.125s
Ran all test suites matching /.\/test\/sum.js/i.
最佳答案
设置testRegex
参数:
jest --testRegex='./test/.*\.js$' --coverage --coverageDirectory './test-coverage'
现在输出看起来像这样:
PASS test/sum.js
✓ adds 1 + 2 to equal 3 (3ms)
----------|----------|----------|----------|----------|-------------------|
File | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s |
----------|----------|----------|----------|----------|-------------------|
All files | 100 | 100 | 100 | 100 | |
sum.js | 100 | 100 | 100 | 100 | |
----------|----------|----------|----------|----------|-------------------|
Test Suites: 1 passed, 1 total
Tests: 1 passed, 1 total
Snapshots: 0 total
Time: 0.769s, estimated 1s
Ran all test suites.
关于javascript - 为什么在更改testMatch正则表达式时Jest覆盖率报告会中断?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53133359/