jest-junit 仅充当 testResultsProcessor,而不是报告者

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

在 CI 中使用 jest-junit 的主要记录方式是

jest --ci --reporters=default --reporters=jest-junit

Jest 文档添加了双引号:

jest --reporters="default" --reporters="jest-junit"

但是,无论哪种情况,我都会收到此错误:

nps is executing `test.ci` : jest --ci --reporters=default --reporters=jest-junit **/*.test.[jt]s
Error: Could not resolve a module for a custom reporter.
  Module name: tests/fail.test.ts
    at <project_root>/node_modules/jest-config/build/normalize.js:426:15
    at Array.map (<anonymous>)
    at normalizeReporters (<project_root>/node_modules/jest-config/build/normalize.js:409:20)
    at <project_root>/node_modules/jest-config/build/normalize.js:747:17
    at Array.reduce (<anonymous>)
    at normalize (<project_root>/node_modules/jest-config/build/normalize.js:608:14)
    at readConfig (<project_root>/node_modules/jest-config/build/index.js:160:74)
    at async readConfigs (<project_root>/node_modules/jest-config/build/index.js:424:26)
    at async runCLI (<project_root>/node_modules/@jest/core/build/cli/index.js:151:59)
    at async Object.run (<project_root>/node_modules/jest-cli/build/run.js:130:37)

它似乎是

jest-config
来源

已弃用的

jest --ci --testResultsProcessor=jest-junit

确实有效,但我宁愿避免它

对 testResultsProcessor 的支持仅出于遗留原因而保留,将来可能会被删除。因此,您应该更愿意将 jest-junit 配置为报告者。

记者使用可能存在什么问题?

Jest 版本是 29.7.0,我检查过

jest-config
jest-cli
jest
之间没有不匹配的情况。
jest-junit
是 16.0.0.

package.json
我有:

  "jest": {
    "clearMocks": true,
    "collectCoverageFrom": [
      "tests/**/*.{js,jsx,ts,tsx}"
    ],
    "coverageReporters": [
      "lcov"
    ],
    "resetModules": true,
    "resetMocks": true,
    "setupFiles": [
      "./tests/helper.ts"
    ],
    "testEnvironment": "node",
    "transform": {
      "^.+\\.[jt]sx?$": "babel-jest"
    }
  },

没有

jest.config.*
文件。

jestjs jest-junit
1个回答
0
投票

答案就是没有

reporters

jest --ci **/*.test.[jt]s

工作正常。有了它们,我需要

--
来分隔测试文件 glob:

jest --ci --reporters=default --reporters=jest-junit -- **/*.test.[jt]s
© www.soinside.com 2019 - 2024. All rights reserved.