angular - Azure DevOps Pipelines - 发布测试结果
问题描述
我已经按照本文中发布单元测试中的所有步骤进行操作,但我有一个问题是
##[警告]没有找到匹配**/testresults/unit-test-result.xml的测试结果文件。
我该如何解决?我认为管道中 JUnit XML 测试结果的路径与管道中的路径之间的差异karma.conf.js
是问题所在。
我在 devops 中发布测试结果
我的karma.conf.js
// Karma configuration file, see link for more information
// https://karma-runner.github.io/1.0/config/configuration-file.html
const path = require('path');
module.exports = function (config) {
config.set({
basePath: '.',
frameworks: ['jasmine', '@angular-devkit/build-angular'],
plugins: [
require('karma-jasmine'),
require('karma-chrome-launcher'),
// require('karma-junit-reporter'),
require('karma-coverage-istanbul-reporter'),
require('@angular-devkit/build-angular/plugins/karma'),
require('karma-junit-reporter'),
],
client: {
clearContext: false, // leave Jasmine Spec Runner output visible in browser
captureConsole: Boolean(process.env.KARMA_ENABLE_CONSOLE),
},
// junitReporter: {
// outputDir: path.join(__dirname, './reports/junit/'),
// outputFile: 'TESTS-xunit.xml',
// useBrowserName: false,
// suite: '', // Will become the package name attribute in xml testsuite element
// },
junitReporter: {
outputDir: 'testresults/junit',
outputFile: 'unit-test-result.xml',
useBrowserName: false,
},
coverageIstanbulReporter: {
reports: ['html', 'lcovonly', 'text-summary'],
dir: path.join(__dirname, './reports/coverage'),
fixWebpackSourcePaths: true,
},
// reporters: ['progress', 'junit'],
reporters: ['progress', 'kjhtml', 'junit'],
port: 9876,
colors: true,
// Level of logging, can be: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG
logLevel: config.LOG_INFO,
autoWatch: true,
browsers: ['ChromeHeadless'],
singleRun: false,
restartOnFileChange: true,
});
};
解决方案
测试结果文件路径不太正确。
您的业力配置将在以下位置生成结果文件
testresults/junit/unit-test-result.xml
但是您的搜索路径 ,**/testresults/unit-test-result.xml
将不匹配,因为它不包括 junit 文件夹。
例如,如果您将搜索路径更改**/testresults/junit/unit-test-result.xml
为 ,那应该可以。