1.0.4 • Published 5 months ago
mochawesome-converter v1.0.4
Test report files to Mochawesome and JUnit converter
Overview
- Convert your XML/TRX test report files to Mochawesome JSON/HTML for easy viewing and troubleshooting.
- Convert test report files to JUnit format.
- Convert JUnit to HTML using Mochawesome.
Supported report formats
- JUnit/xUnit XML Format
- NUnit 3.0+ XML Format
- xUnit.net v2+ XML Format
- Visual Studio TRX Format
What is Mochawesome
Mochawesome is a custom test reporter originally designed for Mocha Javascript testing framework.
It features a clean modern interface allowing users to easily view and navigate test runs.
https://github.com/adamgruber/mochawesome
List of supported features
- Simple, clean, and modern design
- Per suite charts (via ChartJS)
- Stack trace for failed tests
- Support for displaying context information
- Filters to display only the tests you want
- Responsive and mobile-friendly
- Offline viewing
Features not supported by converter
- Support for test and suite nesting
- Displays before and after hooks
- Review test code inline
Conversion process
- All test reports are first converted to JUnit format using XSLT.
- Any nested test suites are flattened.
- TRX files undergo additional processing to enhance JUnit output.
- Set
junit
option totrue
to get JUnit conversion results.
All test types
- Converts <skipped> test messages to Mochawesome test context values.
- Converts <properties>, <system-out> and <system-err> to Mochawesome context values.
- Converts <failure> and <error> elements to Mochawesome error stack.
- Tests suites without any tests are excluded from Mochawesome and JUnit.
- Attachments are not supported.
JUnit
- Converts <properties>, <system-out> and <system-err> elements to Mochawesome test context.
NUnit
- NUnit v3+ XML is supported.
- Converts <properties> elements to JUnit <properties>.
- Converts <output> elements to JUnit <system-out>.
xUnit.net
- xUnit.net v2+ XML is supported.
- Converts <traits> elements to to JUnit <properties>.
- Converts
test
<reason> elements to JUnit <skipped>. - Supports single <assembly> per file, if multiple assemblies are present only first will be converted.
Visual Studio TRX
- Converts
Output/ErrorInfo/Message
to JUnit <failure> message. - Converts
Output/ErrorInfo/StackTrace
to JUnit <failure> stack trace. - Converts
Output/StdErr
to JUnit <system-err>. - Converts
Output/StdOut
to JUnit <system-out>. - Converts Inconclusive and NotExecuted tests to <skipped> with message.
- Test suites are split into multiple <testsuite> elements by test classname.
- Tests are ordered by name.
- Test suit times are not 100% accurate - displayed as a sum() of all test times.
Usage
npm i --save-dev mochawesome-converter
const convert = require('mochawesome-converter');
let options = {
testFile: 'mytesfiles/nunit.xml',
testType: 'nunit',
junit: true
}
convert(options).then(() => console.log(`Mochawesome report created`));
Options
Option | Type | Default | Description |
---|---|---|---|
testFile (required) | string | Path to test file for conversion | |
testType (required) | string | Test report type | |
reportDir | string | ./report | Converted report output path |
reportFilename | string | testFile.name -mochawesome.json | Mochawesome report name |
junit | boolean | false | Create JUnit report? |
junitReportFilename | string | testFile.name -junit.xml | JUnit report file name |
html | boolean | false | Create Mochawesome HTML? |
htmlReportFilename | string | testFile.name -mochawesome.html | Mochawesome HTML file name |
skippedAsPending | boolean | true | Show skipped tests as pending in Mochawesome |
switchClassnameAndName | boolean | false | Switch test case classname and name |
testFile
- relative or absolute path to input test file.testType
- type of test report, not case-sensitive.reportDir
- will be created if path does not exist.skippedAsPending
- Mocha always reports skipped tests as pending and this is default behaviour of converter. Set tofalse
to display tests as skipped.switchClassnameAndName
- Switches classname and name attributes of testcase if your test naming data is generated in reverse order.
Supported testType
options.
testType | File Type |
---|---|
JUnit | JUnit/xUnit |
NUnit | NUnit 3+ XML |
xUnit | xUnit.net v2+ XML |
TRX | Visual Studio TRX |