mocha-junit-reporter npm地址
mocha-junit-reporter github地址
生成 JUnit-style 的XML测试结果。
安装
$ npm install mocha-junit-reporter --save-dev
或者作为一个全局模块
$ npm install -g mocha-junit-reporter
运行mocha与 mocha-junit-reporter:
$ mocha test --reporter mocha-junit-reporter
这将在./test-results.xml
输出结果文件。可以通过设置环境变量``MOCHA_FILE```或在
mochaFile`中指定reporterOptions,可选地设置XML文件结果的替代位置:
$ MOCHA_FILE=./path_to_your/file.xml mocha test --reporter mocha-junit-reporter
或
$ mocha test --reporter mocha-junit-reporter --reporter-options mochaFile=./path_to_your/file.xml
或
var mocha = new Mocha({
reporter: 'mocha-junit-reporter',
reporterOptions: {
mochaFile: './path_to_your/file.xml'
}
});
向testsuite追加属性
还可以在testsuite下向报表添加属性。如果您希望您的CI环境为分析目的添加报表的额外构建道具,这将非常有用。
<testsuites>
<testsuite>
<properties>
<property name="BUILD_ID" value="4291"/>
</properties>
<testcase/>
<testcase/>
<testcase/>
</testsuite>
</testsuites>
这样做通过env变量传递它们:
PROPERTIES=BUILD_ID:4291 mocha test --reporter mocha-junit-reporter
或
var mocha = new Mocha({
reporter: 'mocha-junit-reporter',
reporterOptions: {
properties: {
BUILD_ID: 4291
}
}
})
结果报告
结果XML文件名可以包含[hash]
,例如/path_to_your/test-results.[hash].xml
。[hash]
由测试结果XML的MD5哈希替换。这支持在多个文件中并行执行多个mocha-junit-reporter
的编写测试结果。
为了显示完整的组别标题(包括parents),只需指定testsuitesTitle
选项.
var mocha = new Mocha({
reporter: 'mocha-junit-reporter',
reporterOptions: {
testsuitesTitle: true,
suiteTitleSeparatedBy: '.' // suites separator, default is space (' ')
}
});
如果希望切换生成的testCase XML
条目的classname和name,可以使用testCaseSwitchClassnameAndName
选项。
var mocha = new Mocha({
reporter: 'mocha-junit-reporter',
reporterOptions: {
testCaseSwitchClassnameAndName: true
}
});
下面是使用testCaseSwitchClassnameAndName
选项的XML输出示例:
还可以通过设置reporterOptions.testsuitesTitle
来配置testsuites.name
属性,并通过设置reporterOptions.testsuitesTitle
来配置根suite的name属性。
全配置选项