junit-to-ctrf
v0.0.14
Published
Convert JUnit XML reports to CTRF JSON
Downloads
295,392
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. It can be used via the CLI or added as a dependency to your project.
Contributions are very welcome! Explore more integrations Let us know your thoughts.
Usage
This package can be used via the CLI or added as a dependency to your project.
CLI Usage
npx junit-to-ctrf path/to/junit.xmlor glob pattern:
npx junit-to-ctrf "test-results/**/*.xml"As a Dependency
npm install junit-to-ctrfimport { convertJUnitToCTRFReport } from "junit-to-ctrf";
const report = await convertJUnitToCTRFReport("path/to/junit.xml");API reference
See API reference for more details.
Supported JUnit Types
This package supports the following JUnit XML formats:
- Standard JUnit XML: Traditional JUnit XML format produced by most testing frameworks
- Maven Surefire: JUnit XML format including test retries and flaky test detection
Automatically detects the format based on the XML structure.
CLI 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):
npx junit-to-ctrf "test-results/**/*.xml"Specify Output File
Convert a JUnit XML report to a specified output file:
npx junit-to-ctrf "test-results/**/*.xml" -o ctrf/combined-report.jsonInclude Tool Name
Convert a JUnit XML report and include a tool name in the CTRF report:
npx junit-to-ctrf path/to/junit.xml -t ExampleToolInclude Environment Properties
Convert a JUnit XML report and include environment properties in the CTRF report:
npx junit-to-ctrf path/to/junit.xml -e appName=MyApp buildName=MyBuildSee CTRF schema for possible environment properties
Exclude Suite Name
npx junit-to-ctrf path/to/junit.xml -u falseFull Command
Combine all options in a single command:
npx junit-to-ctrf path/to/junit.xml -o path/to/output/ctrf-report.json -t ExampleTool -e appName=MyApp buildName=MyBuildWhat 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.
