开玩笑的报道没有挑选预期的文件

问题描述 投票:0回答:1

我正在尝试将 Jest 单元测试集成到我的项目中,但目前我陷入了覆盖配置的困境。 以下是我的项目的文件夹结构

--jest.config.js
--package.json
--src
----main
------webapp
--------|test   // folders to contains test case files
-----------|NoData.test.js  // just a sample test case for 
--------|components   // folder to contains componnents
-----------|NoData.js    // sample component for writing test
--------|pages,...    // folders to contains code files

我想收集组件文件夹下所有代码文件的覆盖范围,然后这是我的笑话配置,经过多次尝试和谷歌搜索

{
  "roots": ["./src/main/webapp"],
  "testMatch": ["**/src/main/webapp/test/**/*.test.js"],
  "reporters": [ "default", "jest-junit" ],
  "testResultsProcessor": "jest-junit",
  "testEnvironment": "jsdom",
  "setupFilesAfterEnv": ["./jest.setup.js"],
  "moduleNameMapper": {
    ".+\\.(css|styl|less|sass|scss|gif|png|jpg|ttf|woff|woff2|eot)$": "identity-obj-proxy"
  },
  "collectCoverage": true,
  "collectCoverageFrom": [
    "**/src/main/webapp/components/**/*.{js}"
  ]
  "forceCoverageMatch": ["**/src/main/webapp/components/**/*.js"],     // I have to include this because without this, coverage is "Unknown", dont know why
  "coverageReporters": ["html", "text", "text-summary", "json-summary", "cobertura"]
}

以及用于测试 package.json 的脚本

"test-cov": "jest --collectCoverage --watchAll"

然而,覆盖率报告并没有达到我的预期。

  • 期望:报告中列出的/组件下的所有源文件
  • 实际:仅列出测试用例的文件
File               | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s 
-------------------|---------|----------|---------|---------|-------------------
All files          |     100 |      100 |     100 |     100 |                   
 components        |     100 |      100 |     100 |     100 |                   
  NoData.js        |     100 |      100 |     100 |     100 |                  
-------------------|---------|----------|---------|---------|-------------------

任何想法都值得赞赏。非常感谢大家!

jestjs code-coverage
1个回答
0
投票

通过查看您在问题中提供的信息,让我提及您需要解决的一些问题。

  1. 更新

    collectCoverageFrom
    配置:

    "collectCoverageFrom": [
       "src/main/webapp/components/**/*.{js}"
    ]
    
  2. 删除

    forceCoverageMatch
    配置,因为使用
    collectCoverageFrom
    时不需要它。

© www.soinside.com 2019 - 2024. All rights reserved.