Skip to content

Aimed at making it easier to build Jenkins compatible JUnit XML reports in plugins for testing frameworks

License

Notifications You must be signed in to change notification settings

rturner-edjuster/junit-report-builder

 
 

Repository files navigation

junit-report-builder

Build Status Dependency Status devDependency Status Weekly Downloads

A project aimed at making it easier to build Jenkins compatible XML based JUnit reports.

Installation

To install the latest version, run:

npm install junit-report-builder --save

Usage

var builder = require('junit-report-builder');

// Create a test suite
var suite = builder.testSuite().name('My suite');

// Create a test case
var testCase = suite.testCase()
  .className('my.test.Class')
  .name('My first test');

// Create another test case which is marked as failed
var testCase = suite.testCase()
  .className('my.test.Class')
  .name('My second test')
  .failure();

builder.writeTo('test-report.xml');

This will create test-report.xml containing the following:

<?xml version="1.0" encoding="UTF-8"?>
<testsuites>
  <testsuite name="My suite" tests="2" failures="1" errors="0" skipped="0">
    <testcase classname="my.test.Class" name="My first test"/>
    <testcase classname="my.test.Class" name="My second test">
      <failure/>
    </testcase>
  </testsuite>
</testsuites>

If you want to create another report file, start by getting a new builder instance like this:

builder = builder.newBuilder();

Please refer to the e2e_spec.coffee for more details on the usage.

License

MIT

Changelog

1.3.2

  • Added support for emitting the type attribute for error and failure elements of test cases
  • Added support for emitting cdata/content for the error element of a test case

Thanks to rturner-edjuster.

1.3.1

  • Update dependencies to versions without known vulnerabilities.

1.3.0

1.2.0

  • Support creating XML with emojis. Thanks to ischwarz.

1.1.1

  • Changed date-format to be a dependency. Previously it was incorrectly set to be a devDependency. Thanks to georgecrawford.

1.1.0

  • Added attributes for test count, failure count, error count and skipped test count to testsuite elements
  • Added ability to attach standard output and standard error logs to test cases
  • Added ability set execution time for test suites
  • Added ability set timestamp for test suites

1.0.0

  • Simplified API by making the index module export a builder instance

0.0.2

  • Corrected example in readme

0.0.1

  • Initial release

About

Aimed at making it easier to build Jenkins compatible JUnit XML reports in plugins for testing frameworks

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • CoffeeScript 76.7%
  • JavaScript 23.3%