Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/davidparsson/junit-report-builder
Making it easier to build Jenkins compatible JUnit XML reports
https://github.com/davidparsson/junit-report-builder
javascript jenkins junit-report nodejs typescript
Last synced: 5 days ago
JSON representation
Making it easier to build Jenkins compatible JUnit XML reports
- Host: GitHub
- URL: https://github.com/davidparsson/junit-report-builder
- Owner: davidparsson
- License: mit
- Created: 2015-05-07T08:43:35.000Z (over 9 years ago)
- Default Branch: main
- Last Pushed: 2024-09-24T05:28:37.000Z (about 2 months ago)
- Last Synced: 2024-10-11T14:42:09.826Z (about 1 month ago)
- Topics: javascript, jenkins, junit-report, nodejs, typescript
- Language: TypeScript
- Homepage:
- Size: 795 KB
- Stars: 23
- Watchers: 4
- Forks: 14
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# junit-report-builder
[![Build Status](https://github.com/davidparsson/junit-report-builder/workflows/CI/badge.svg)](https://github.com/davidparsson/junit-report-builder/actions?query=workflow%3ACI)
[![Weekly Downloads](https://img.shields.io/npm/dw/junit-report-builder.svg)](https://www.npmjs.com/package/junit-report-builder)A project aimed at making it easier to build [Jenkins](http://jenkins-ci.org/) compatible XML based JUnit reports.
## Installation
To install the latest version, run:
npm install junit-report-builder --save
## Usage
```JavaScript
import builder from 'junit-report-builder';// Create a test suite
let suite = builder.testSuite().name('My suite');// Create a test case
let firstTestCase = suite.testCase()
.className('my.test.Class')
.name('My first test');// Create another test case which is marked as failed
let secondTestCase = 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
```
If you want to create another report file, start by getting a new
builder instance like this:```JavaScript
// Each builder produces a single report file
let anotherBuilder = builder.newBuilder();
```CommonJS is also supported:
```JavaScript
let builder = require('junit-report-builder');
```Please refer to the [e2e.spec.ts](spec/e2e.spec.ts) for more details on the usage.
## License
[MIT](LICENSE)
## Changelog
### 5.1.1
- Change `markdown-doctest` from a dependency to a dev dependency.
### 5.1.0
- Add support for multiline properties, where the value is stored as text content instead of in the `value` attribute. Thanks to [Sebastian Sauer](https://github.com/sebastian-sauer).
### 5.0.0
- A re-release of 4.0.1 since that version broke the CommonJS API.
- Remove an internal type from the public API.### 4.0.1 (deprecated)
- _Deprecated, since the CommonJS API was accidentally changed in 4.0.1. Re-released as 5.0.0._
- Re-introduce CommonJS support, while keeping the ES module support. Thanks to [Harel Mazor](https://github.com/HarelM) and [Simeon Cheeseman](https://github.com/SimeonC).
- Export all public types from `index.d.ts`. Thanks to [Harel Mazor](https://github.com/HarelM) and [Simeon Cheeseman](https://github.com/SimeonC).
- Full typing support for TypeScript. Thanks to [Harel Mazor](https://github.com/HarelM).### 4.0.0 (deprecated)
- _Deprecated, since the CommonJS support was accidentally dropped. This is fixed again in 4.0.1._
- Dropped support for node.js 14, 12, 10 and 8.
- Full typing support for TypeScript. Thanks to [Harel Mazor](https://github.com/HarelM).### 3.2.1
- Update documentation.
### 3.2.0
- Support name and test count attributes for the root test suites element. Thanks to [Simeon Cheeseman](https://github.com/SimeonC).
- Describe parameter types and return types with JSDoc. Thanks to [Simeon Cheeseman](https://github.com/SimeonC).### 3.1.0
- Add support for generic properties for test cases. Thanks to [Pietro Ferrulli](https://github.com/Pi-fe).
- Bump dependencies### 3.0.1
- Bump dependencies: lodash, make-dir, date-format, minimist
### 3.0.0
- Properly prevent invalid characters from being included in the XML files.
- Dropped support for node.js 4 and 6### 2.1.0
- Added support for adding a `file` attribute to a test case. Thanks to [Ben Holland](https://github.com/hollandben).
### 2.0.0
- Replace mkdirp by make-dir to resolve [npm advisory 1179](https://www.npmjs.com/advisories/1179).
- Dropped support for node.js 0.10.x and 0.12.x### 1.3.3
- Updated lodash to a version without known vulnerabilities.
### 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 caseThanks to [Robert Turner](https://github.com/rturner-edjuster).
### 1.3.1
- Update dependencies to versions without known vulnerabilities.
### 1.3.0
- Support [attaching files to tests](http://kohsuke.org/2012/03/13/attaching-files-to-junit-tests/). Thanks to [anto-wahanda](https://github.com/anto-wahanda).
### 1.2.0
- Support creating XML with emojis. Thanks to [ischwarz](https://github.com/ischwarz).
### 1.1.1
- Changed `date-format` to be a dependency. Previously it was incorrectly set to be a devDependency. Thanks to [georgecrawford](https://github.com/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