An open API service indexing awesome lists of open source software.

https://github.com/ctrf-io/junit-to-ctrf

Convert JUnit reports to CTRF
https://github.com/ctrf-io/junit-to-ctrf

Last synced: 9 months ago
JSON representation

Convert JUnit reports to CTRF

Awesome Lists containing this project

README

          

# Convert JUnit XML to CTRF JSON

> Convert JUnit reports to CTRF reports

This package is useful if there isn't a CTRF reporter available for your test framework.



💚

CTRF tooling is open source and free to use


You can support the project with a follow and a star



Maintained by Matthew Thomas

Contributions are very welcome!

Explore more integrations


## Usage

```sh
npx junit-to-ctrf path/to/junit.xml
```

or glob pattern:

```sh
npx junit-to-ctrf "test-results/**/*.xml"
```

## Options

`-o`, `--output` : Output directory and filename for the CTRF report. If not provided, defaults to ctrf/ctrf-report.json.

`-t`, `--tool` : Tool name to include in the CTRF report.

`-u`, `--use-suite-name` : Use suite name in the test name, defaults to true.

`-e`, `--env` : Environment properties to include in the CTRF report. Accepts multiple properties in the format KEY=value.

## Examples

Convert a JUnit XML report to the default CTRF report location (ctrf/ctrf-report.json):

```sh
npx junit-to-ctrf "test-results/**/*.xml"
```

### Specify Output File

Convert a JUnit XML report to a specified output file:

```sh
npx junit-to-ctrf "test-results/**/*.xml" -o ctrf/combined-report.json
```

### Include Tool Name

Convert a JUnit XML report and include a tool name in the CTRF report:

```sh
npx junit-to-ctrf path/to/junit.xml -t ExampleTool
```

### Include Environment Properties

Convert a JUnit XML report and include environment properties in the CTRF report:

```sh
npx junit-to-ctrf path/to/junit.xml -e appName=MyApp buildName=MyBuild
```

See [CTRF schema](https://www.ctrf.io/docs/schema/environment) for possible environment properties

### Exclude Suite Name

```sh
npx junit-to-ctrf path/to/junit.xml -u false
```

### Full Command

Combine all options in a single command:

```sh
npx junit-to-ctrf path/to/junit.xml -o path/to/output/ctrf-report.json -t ExampleTool -e appName=MyApp buildName=MyBuild
```

## What is CTRF?

CTRF is a universal JSON test report schema that addresses the lack of a standardized format for JSON test reports.

**Consistency Across Tools:** Different testing tools and frameworks often produce reports in varied formats. CTRF ensures a uniform structure, making it easier to understand and compare reports, regardless of the testing tool used.

**Language and Framework Agnostic:** It provides a universal reporting schema that works seamlessly with any programming language and testing framework.

**Facilitates Better Analysis:** With a standardized format, programatically analyzing test outcomes across multiple platforms becomes more straightforward.

## Support Us

If you find this project useful, consider giving it a GitHub star ⭐ It means a lot to us.