tap-xunit
Version:
TAP to xUnit XML converter.
71 lines (48 loc) • 2.4 kB
Markdown
[](https://travis-ci.org/aghassemi/tap-xunit)
[](http://issuestats.com/github/aghassemi/tap-xunit)
[](http://issuestats.com/github/aghassemi/tap-xunit)
tap-xunit
=========
Converts [TAP](http://testanything.org/) to xUnit XML format.
TAP output from testing frameworks such as [tape](https://github.com/substack/tape) or [node-tap](https://github.com/isaacs/node-tap) can be piped directly to tap-xunit
```
node test.js | tap-xunit
```

# Installation
```
npm install tap-xunit -g
```
# Usage
## CLI
```
node test.js | tap-xunit
less results.tap | tap-xunit --package="MyCompany.MyTool" > results.xml
```
By default TAP comments are used as test-suite names and considered to mark test boundaries. CLI flag ```--dontUseCommentsAsTestNames``` can be used to turn that feature off, in which case comments are ignored and
all assertions go inside a single ```<testsuite name="Default">``` with name ```Default```
## Library
```
var converter = require('tap-xunit');
// Optional configuration
var opts = {}
var tapToxUnitConverter = converter(opts);
tapInputStream.pipe(tapToxUnitConverter).pipe(xUnitOutStream);
```
## Options
Options can be passed as CLI arguments by being prefixed with ```--```
#### dontUseCommentsAsTestNames
*default*: ```false```
By default TAP comments are used as test-suite names and considered to mark test boundaries.
This option can be used to turn that feature off, in which case comments are ignored and
all assertions go inside a single ```<testsuite name="Default">``` with name ```Default```
#### replaceWithUnicodeDot
*default*: ```false```
Whether the '.' in test-suite names should be replaced with a Unicode homoglyph.
This feature exists because many xUnit reporters assume '.' in test-suite name implies package hierarchy, which may not be the case.
#### package
*default*: ```''```
If specified, all test-suites will be prefixed with the given package name.
NOTE: ```replaceWithUnicodeDot``` option does not apply to package and . can be used to specify package hierarchy.
# License
MIT