在经过Jest测试的项目中,我有*.entity.ts
文件。我不希望这些文件包含在覆盖测试中。
根据在文档https://facebook.github.io/jest/docs/en/configuration.html#coveragepathignorepatterns-array-string有一个coveragePathIgnorePatterns
,你可以在使用设置package.json
我已经尝试过正则表达式和文件模式,但是这些都不会忽略*.entity.ts
最终报告中的文件。
例如,当我添加时,"coveragePathIgnorePatterns": ["common"]
我的测试将不再运行。
关于如何使Jest跳过*.entity.ts
覆盖测试的任何想法?
package.json中的“我的笑话”部分如下所示:
{
"moduleFileExtensions": [
"js",
"json",
"ts"
],
"rootDir": "src",
"testRegex": ".spec.ts$",
"transform": {
"^.+\\.(t|j)s$": "ts-jest"
},
"coverageDirectory": "../coverage"
}
Run Code Online (Sandbox Code Playgroud)
Gou*_*aul 20
您可以添加一个!在 collectCoverageFrom 参数中标记以将其从计数中排除。这里是 src 目录的子文件夹中的任何文件
collectCoverage: true,
collectCoverageFrom: ['src/**/*.ts','!src/*/filesToExclude.ts']
Run Code Online (Sandbox Code Playgroud)
您还可以添加package.js
以下内容:
... // Other data
"jest": {
"coveragePathIgnorePatterns" : [
"<rootDir>/src/index.js",
"<rootDir>/src/reportWebVitals.js"
]
}
... // Other data
Run Code Online (Sandbox Code Playgroud)
这是让它工作所需的唯一配置
我使用一个外部JSON文件来保存我的Jest配置,并package.json
使用npm 从其运行它: jest --config jest.config.json --no-cache
jest.config.json
{
"collectCoverage": true,
"collectCoverageFrom": [
"src/**/*.ts"
],
"coveragePathIgnorePatterns": [
"node_modules",
"test-config",
"interfaces",
"jestGlobalMocks.ts",
".module.ts",
"<rootDir>/src/app/main.ts",
".mock.ts"
],
"coverageDirectory": "<rootDir>/coverage/",
"coverageThreshold": {
"global": {
"branches": 20,
"functions": 30,
"lines": 50,
"statements": 50
}
},
"mapCoverage": true,
"preset": "jest-preset-angular",
"setupTestFrameworkScriptFile": "<rootDir>/src/setupJest.ts",
"transformIgnorePatterns": [
"<rootDir>/node_modules/(?!@ionic-native|@ionic|@ngrx|angular2-ui-switch|angularfire2|jest-cli)"
],
"verbose": false
}
Run Code Online (Sandbox Code Playgroud)
我的报道不包括“ coveragePathIgnorePatterns”中列出的文件。也许源行“ /src/app/main.ts”是您需要的条目。
归档时间: |
|
查看次数: |
9808 次 |
最近记录: |