我找到了一些questions on SO专用于笑话单元测试的版本,以将其结果发布到VSTS构建测试结果标签中。但是找不到适当的解决方案。
答案 0 :(得分:16)
经过一些研究,我发现Jest testResultsProcessor property is deprecated是b / c。我正在使用 jest-junit 包来生成测试报告(比jest-trx-results-processor fwiw更为新近开发):
将玩笑内容添加到package.json
例如yarn add -D jest-junit
或npm add --save-dev jest-junit
添加一个VSTS任务以使用jest-junit结果报告程序运行Jest
我使用了the Yarn task,但是您也可以选择使用the npm task。我使用了以下任务参数:
jest --ci --reporters=jest-junit --reporters=default --coverage --coverageReporters=cobertura --coverageReporters=html
因为我也想覆盖代码。要跳过代码覆盖率报告,请使用以下(npm或yarn)任务参数:
jest --ci --reporters=jest-junit --reporters=default
请注意,--reporters=default
是否存在,我想在构建日志中使用默认标准输出。
由于我们使用的是默认路径,因此测试结果文件将被写入~/junit.xml
(可选),也添加一个publish code coverage task
如果您正在运行代码覆盖率,还可以添加一个任务来发布代码覆盖率结果:
答案 1 :(得分:7)
我已经抛出了一些有趣的npm软件包,例如tap-xunit
和jest-json-to-tap
,但无法弄清楚它是否起作用。以下步骤对我有用,可以使结果以Test of VSTS版本进行审核。
# NPM
npm install jest-trx-results-processor --save-dev
# Yarn
yarn add -D jest-trx-results-processor
创建包含以下内容的jestTrxProcessor.js
文件:
var builder = require('jest-trx-results-processor');
var processor = builder({
outputFile: 'jestTestresults.trx'
});
module.exports = processor;
更新后的package.json
文件应类似于:
"devDependencies": {
"jest": "^23.4.1",
"jest-trx-results-processor": "0.0.7",
"jsdom": "^11.12.0",
...
},
"scripts": {
"test": "jest"
},
"jest": {
...,
"testResultsProcessor": "./jestTrxProcessor.js"
}
为npm
添加npm test
task to VSTS build。这将运行笑话测试并将结果发布到jestTestresults.trx
Publish Test Results
task of VSTS,以在VSTS测试中添加jestTestresults.trx
个结果。您将能够看到JEST测试以及其他测试。
答案 2 :(得分:1)
Evaldas的解决方案已过时,因此我将添加一些修改。
更现代的解决方案是Evaldas的解决方案与维护者提供的解决方案之间的结合:https://www.npmjs.com/package/jest-trx-results-processor
我将在下面对此进行描述。
安装jest-trx-results-processor
DashboardModule
更新后的# NPM
npm install jest-trx-results-processor --save-dev
# Yarn
yarn add -D jest-trx-results-processor
文件应类似于:
package.json
在构建管道中为"devDependencies": {
"jest": "^24.9.0",
"jest-trx-results-processor": "^1.0.2"
...
},
"scripts": {
"test": "jest"
},
"jest": {
...,
"reporters": [
"default",
[
"jest-trx-results-processor",
{
"outputFile": "./src/jestTestresults.trx",
"defaultUserName": "user name to use if automatic detection fails"
}
]]}
的VSTS构建中添加npm
任务。它看起来应该像这样:
npm test
任务以在VSTS测试中添加Publish Test Results
个结果。为此,在构建管道中,单击“添加符号”。查找“发布测试结果”。它将弹出这样的菜单。由于它是一个.trx文件,因此您需要使用VSTest而不是JTest。