通过以下配置,更改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/

10-13 09:46