gpt4 book ai didi

javascript - 如何忽略 Jest 代码覆盖率的文件模式?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:57:35 46 4
gpt4 key购买 nike

在我的 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 中的 Jest 部分看起来像:

{
"moduleFileExtensions": [
"js",
"json",
"ts"
],
"rootDir": "src",
"testRegex": ".spec.ts$",
"transform": {
"^.+\\.(t|j)s$": "ts-jest"
},
"coverageDirectory": "../coverage"
}

最佳答案

我使用一个外部 JSON 文件来保存我的 Jest 配置,并使用 npm 从我的 package.json 运行它: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
}

我的覆盖范围不包括“coveragePathIgnorePatterns”中列出的文件。也许源代码行“/src/app/main.ts”是您需要的条目。

关于javascript - 如何忽略 Jest 代码覆盖率的文件模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50992518/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com