笑话报道忽略
Jest coverage ignore
我试图忽略我的代码覆盖率输出中的几个文件。在阅读文档时 coveragePathIgnorePatterns 看来我可以忽略文件夹。
我试图从我的报道中忽略 dummy 和 helpers 文件夹,但它们似乎总是包含在内:
Jest 配置:
{
"browser": true,
"collectCoverageFrom": ["<rootDir>/src/**/*.{js,jsx}", "!<rootDir>/__tests__/__dummy__/test.js"],
"coveragePathIgnorePatterns": ["<rootDir>/node_modules/", "<rootDir>/__tests__/__helpers__/", "<rootDir>/__tests__/__dummy__/"],
"roots": [
"<rootDir>/__tests__/",
"<rootDir>/src/"
],
"modulePaths": [
"<rootDir>/src/"
],
"modulePathIgnorePatterns": [
"<rootDir>/lib/",
"<rootDir>/node_modules/",
"<rootDir>/__tests__/__helpers__/",
"<rootDir>/__tests__/__dummy__/"
],
"setupTestFrameworkScriptFile": "@djforth/jest-matchers",
"testPathIgnorePatterns": [
"<rootDir>/__tests__/__dummy__",
"<rootDir>/__tests__/__dummy__",
"<rootDir>/lib",
"<rootDir>/node_modules",
"<rootDir>/bower_components"
],
"verbose": true
}
我收到以下报告:
-----------------------|----------|----------|----------|----------|----------------|
File | % Stmts | % Branch | % Funcs | % Lines |Uncovered Lines |
-----------------------|----------|----------|----------|----------|----------------|
All files | 98.87 | 96.48 | 92.5 | 99.55 | |
__helpers__ | 84.21 | 100 | 54.55 | 90.91 | |
test.js | 84.21 | 100 | 54.55 | 90.91 | 6 |
__tests__/__helpers__ | 100 | 100 | 100 | 100 | |
create_spy_obj.js | 100 | 100 | 100 | 100 | |
src | 100 | 80 | 87.5 | 100 | |
index.js | 100 | 80 | 87.5 | 100 | |
src/utils | 100 | 97.73 | 100 | 100 | |
compile_spies.js | 100 | 81.82 | 100 | 100 | |
create_callbacks.js | 100 | 100 | 100 | 100 | |
create_spies.js | 100 | 97.44 | 100 | 100 | |
create_stubs.js | 100 | 100 | 100 | 100 | |
get_spy.js | 100 | 100 | 100 | 100 | |
merger.js | 100 | 100 | 100 | 100 | |
reset_spies.js | 100 | 100 | 100 | 100 | |
title_keys.js | 100 | 100 | 100 | 100 | |
-----------------------|----------|----------|----------|----------|----------------|
不确定为什么这对您不起作用,但我们采用相反的方式:
"collectCoverageFrom": ["src/**/*.js"],
我终于弄清楚是什么导致了我的问题。
Jest 在后台使用 Istanbul。当我设置项目时,我复制了我的 .babelrc
配置并忽略了我已经留在我的旧 Jasmine 配置中。我已经更改为向 __tests__/**/*.test.js
添加测试的 Jest 惯例,但是在 .babelrc
配置中我有:
"plugins": [
[
"istanbul",
{
"exclude": [
"spec/**/*.spec.js"
]
}
],
"rewire"
]
因此,一旦我删除了排除项,覆盖范围就会正确显示。看起来如果您在 .babelrc
配置中指定它会覆盖 jest 配置。
我试图忽略我的代码覆盖率输出中的几个文件。在阅读文档时 coveragePathIgnorePatterns 看来我可以忽略文件夹。
我试图从我的报道中忽略 dummy 和 helpers 文件夹,但它们似乎总是包含在内:
Jest 配置:
{
"browser": true,
"collectCoverageFrom": ["<rootDir>/src/**/*.{js,jsx}", "!<rootDir>/__tests__/__dummy__/test.js"],
"coveragePathIgnorePatterns": ["<rootDir>/node_modules/", "<rootDir>/__tests__/__helpers__/", "<rootDir>/__tests__/__dummy__/"],
"roots": [
"<rootDir>/__tests__/",
"<rootDir>/src/"
],
"modulePaths": [
"<rootDir>/src/"
],
"modulePathIgnorePatterns": [
"<rootDir>/lib/",
"<rootDir>/node_modules/",
"<rootDir>/__tests__/__helpers__/",
"<rootDir>/__tests__/__dummy__/"
],
"setupTestFrameworkScriptFile": "@djforth/jest-matchers",
"testPathIgnorePatterns": [
"<rootDir>/__tests__/__dummy__",
"<rootDir>/__tests__/__dummy__",
"<rootDir>/lib",
"<rootDir>/node_modules",
"<rootDir>/bower_components"
],
"verbose": true
}
我收到以下报告:
-----------------------|----------|----------|----------|----------|----------------|
File | % Stmts | % Branch | % Funcs | % Lines |Uncovered Lines |
-----------------------|----------|----------|----------|----------|----------------|
All files | 98.87 | 96.48 | 92.5 | 99.55 | |
__helpers__ | 84.21 | 100 | 54.55 | 90.91 | |
test.js | 84.21 | 100 | 54.55 | 90.91 | 6 |
__tests__/__helpers__ | 100 | 100 | 100 | 100 | |
create_spy_obj.js | 100 | 100 | 100 | 100 | |
src | 100 | 80 | 87.5 | 100 | |
index.js | 100 | 80 | 87.5 | 100 | |
src/utils | 100 | 97.73 | 100 | 100 | |
compile_spies.js | 100 | 81.82 | 100 | 100 | |
create_callbacks.js | 100 | 100 | 100 | 100 | |
create_spies.js | 100 | 97.44 | 100 | 100 | |
create_stubs.js | 100 | 100 | 100 | 100 | |
get_spy.js | 100 | 100 | 100 | 100 | |
merger.js | 100 | 100 | 100 | 100 | |
reset_spies.js | 100 | 100 | 100 | 100 | |
title_keys.js | 100 | 100 | 100 | 100 | |
-----------------------|----------|----------|----------|----------|----------------|
不确定为什么这对您不起作用,但我们采用相反的方式:
"collectCoverageFrom": ["src/**/*.js"],
我终于弄清楚是什么导致了我的问题。
Jest 在后台使用 Istanbul。当我设置项目时,我复制了我的 .babelrc
配置并忽略了我已经留在我的旧 Jasmine 配置中。我已经更改为向 __tests__/**/*.test.js
添加测试的 Jest 惯例,但是在 .babelrc
配置中我有:
"plugins": [
[
"istanbul",
{
"exclude": [
"spec/**/*.spec.js"
]
}
],
"rewire"
]
因此,一旦我删除了排除项,覆盖范围就会正确显示。看起来如果您在 .babelrc
配置中指定它会覆盖 jest 配置。