junit-xml
Version:
JUnit XML report builder with TypeScript support
139 lines (119 loc) • 3.23 kB
Markdown
junit-xml
======
JUnit XML report builder with TypeScript support.
```bash
npm install junit-xml
```
```javascript
import { getJunitXml } from 'junit-xml';
const testSuiteReport = {
name: 'Some test suite report name',
time: 4.2,
suites: [
{
name: 'Some suite',
timestamp: new Date(Date.UTC(1989, 10, 3)),
hostname: 'some-hostname',
time: 1.1337,
testCases: [
{
name: 'Successful test',
assertions: 2,
classname: 'successful-test-class',
time: 0.72,
},
{
name: 'Skipped test',
assertions: 2,
skipped: true,
},
{
name: 'Unskipped test',
skipped: false,
},
{
name: 'Failing test',
failures: [
{ message: 'First failure', type: 'some-type' },
{ message: 'Second failure' },
],
},
{
name: 'Another failing test',
failures: [
{ message: 'Just one failure' },
],
},
{
name: 'Erroring test',
errors: [
{ message: 'First error', type: 'some-type' },
{ message: 'Second error' },
],
},
{
name: 'Another erroring test',
errors: [
{ message: 'Just one error' },
],
},
{
name: 'Test with output',
systemOut: [
'First output',
'Second output',
],
},
{
name: 'Test with single output',
systemOut: [
'Only output',
],
},
{
name: 'Test with error output',
systemErr: [
'First error output',
'Second error output',
],
},
{
name: 'Test with single error output',
systemErr: [
'Only error output',
],
},
],
},
{
name: 'Suite without test cases',
testCases: [],
},
{
name: 'Another suite',
testCases: [
{ name: 'Some successful test' },
],
},
],
};
const junitXml = getJunitXml(testSuiteReport);
```
A Javascript object representation of your test suite report. See [the type definitions](https://gitlab.com/Vinnl/junit-xml/blob/master/src/TestResults.ts) for available properties.
Optional object configuring the output. Properties:
Default: `'default'`
The required format of the resulting XML string. By default, this is set to the format expected by GitLab CI/CD. Alternative options:
- `'ant-junit'`: The format used by Azure DevOps. Conforms to this schema: https://github.com/windyroad/JUnit-Schema/blob/master/JUnit.xsd
An XML string in JUnit test report format.
See [CHANGELOG](https://gitlab.com/Vinnl/junit-xml/blob/master/CHANGELOG.md).
MIT © [Vincent Tunru](https://vincenttunru.com)