未找到与 **/test-*.xml 匹配的测试结果文件 - Azure DevOps

5 junit azure azure-devops angular azure-devops-pipelines

我正在尝试在天蓝色中发布测试结果,但我无法做到这一点。这是我使用 azure 的第二天,所以我可能会错过一些东西。

我的管道代码是

- task: PublishTestResults@2
  inputs:
    testResultsFormat: 'JUnit'
    testResultsFiles: '**/test-*.xml'
Run Code Online (Sandbox Code Playgroud)

karma.conf.js

junitReporter: {
             outputDir: '.',
             outputFile:'test-report.xml'
         },
Run Code Online (Sandbox Code Playgroud)

而且我用的是最新的ubuntu。但当我运行管道时总是会出现此错误

##[warning]No test result files matching **/test-*.xml were found.
Run Code Online (Sandbox Code Playgroud)

我尝试了小写大写,但没有任何效果,我不知道我做错了什么。我将感谢任何提示。

NJS*_*NJS 0

您的 PublishTestResults 任务指定 JUnit,但您需要确保 karma 正在生成 JUnit 报告。您从 karma.conf.js 显示的代码片段不足以验证这一点。

你安装了 karma-junit-reporter npm 包吗?

npm install karma-junit-reporter --save-dev
Run Code Online (Sandbox Code Playgroud)

您是否在 karma.conf.js 插件数组中添加了 karma-junit-reporter ?

require('karma-junit-reporter')
Run Code Online (Sandbox Code Playgroud)

您是否在 karma.conf.js 报告者数组中添加了 junit?

reporters: ['progress', 'kjhtml', 'junit'],
Run Code Online (Sandbox Code Playgroud)

然后确保 PublishTestResults 任务具有正确的模式。我的看起来像这样,因为我没有指定任何 junitReporter 设置,如您在示例中所示。

testResultsFiles: "**/TESTS*.xml"
Run Code Online (Sandbox Code Playgroud)

我从这个例子中学到了很多东西: https://www.olivercoding.com/2020-01-02-angular-azure-devops/