Gathering detailed insights and metrics for custom-junit-report-merger
Gathering detailed insights and metrics for custom-junit-report-merger
Gathering detailed insights and metrics for custom-junit-report-merger
Gathering detailed insights and metrics for custom-junit-report-merger
npm install custom-junit-report-merger
Typescript
Module System
Min. Node Version
Node Version
NPM Version
JavaScript (100%)
Total Downloads
0
Last Day
0
Last Week
0
Last Month
0
Last Year
0
MIT License
342 Commits
1 Branches
1 Contributors
Updated on Feb 15, 2023
Latest Version
4.0.0
Package Id
custom-junit-report-merger@4.0.0
Unpacked Size
20.24 kB
Size
5.97 kB
File Count
14
NPM Version
8.19.3
Node Version
18.13.0
Published on
Feb 15, 2023
Cumulative downloads
Total Downloads
Last Day
0%
NaN
Compared to previous day
Last Week
0%
NaN
Compared to previous week
Last Month
0%
NaN
Compared to previous month
Last Year
0%
NaN
Compared to previous year
4
Merges multiple JUnit XML reports into one.
Reporters of many testing frameworks generate JUnit XML reports. mocha-junit-reporter
, karma-junit-reporter
to name a few. Sometimes there is a need to combine multiple reports together in a single file. This is what junit-report-merger
does.
junit-report-merger
creates a new test results report in JUnit XML format by collecting all <testsuite>
elements from all XML reports and putting them together.
Package provides a jrm
binary, which you can use to merge multiple xml reports into one.
In a nutshell it is a tiny wrapper around mergeFiles api.
1npm install -g junit-report-merger
In this case you'll be able to execute jrm
binary from within your shell.
1npm install junit-report-merger --save-dev
In this case jrm
binary will be available only inside package.json
scripts:
scripts: {
"merge-reports": "jrm combined.xml \"results/*.xml\""
}
Assuming your JUnit test results are in ./results/units/
folder, and you want to get a combined test result file in ./results/combined.xml
:
1jrm ./results/combined.xml "./results/units/*.xml"
You can also specify multiple glob patterns:
1jrm ./results/combined.xml "./results/units/*.xml" "./results/e2e/*.xml"
NOTE
Make sure to wrap each pattern with double quotes ("
), otherwise your shell may try to expand it instead of passing to Node.js.
Package exports a single object with the following methods.
mergeFiles - Merges contents of multiple XML report files into a single XML report file.
mergeStreams - Merges contents of multiple XML report streams into a single XML report stream.
mergeToString - Merges multiple XML report strings into a single XML report string.
1const path = require('path') 2const { mergeFiles } = require('junit-report-merger') 3 4const outputFile = path.join(__dirname, 'results', 'combined.xml') 5 6const inputFiles = ['./results/units/*.xml', './results/e2e/*.xml'] 7 8try { 9 await mergeFiles(outputFile, inputFiles) 10 console.log('Merged, check ./results/combined.xml') 11} catch (err) { 12 console.error(error) 13}
mergeFiles
Signature:
1mergeFiles( 2 destFilePath: string, 3 srcFilePathsOrGlobPatterns: string[], 4 options?: MergeFilesOptions 5) => Promise<void> 6 7mergeFiles( 8 destFilePath: string, 9 srcFilePathsOrGlobPatterns: string[], 10 options: MergeFilesOptions, 11 cb: (err?: Error) => void 12) => void
Reads multiple files, merges their contents and write into the given file.
Param | Type | Description |
---|---|---|
destFilePath | string | Where the output should be stored. Denotes a path to file. If file already exists, it will be overwritten. |
srcFilePathsOrGlobPatterns | string[] | Paths to the files which should be merged. You can also specify glob patterns, such as results/**/report-*.xml |
[options] | MergeFilesOptions | Merge options. |
[cb] | (err?: Error) => void | Callback function which will be called at completion. Will receive error as first argument if any. |
Last argument - cb
is a Node.js style callback function. If callback function is not passed, function will return a promise. That is, all the following variants will work:
1// options passed, callback style 2mergeFiles(destFilePath, srcFilePaths, {}, (err) => {}) 3 4// options missing, callback style 5mergeFiles(destFilePath, srcFilePaths, (err) => {}) 6 7// options passed, promise style 8await mergeFiles(destFilePath, srcFilePaths, {}) 9 10// options missing, promise style 11await mergeFiles(destFilePath, srcFilePaths)
MergeFilesOptions
These are the options accepted by mergeFiles
.
Signature:
1type MergeFilesOptions = { 2 onFileMatched? (matchInfo: { 3 filePath: string 4 }) => void 5}
onFileMatched
mergeFiles
calls function specified by the onFileMatched
option once for each file matched by srcFilePaths
, right before file processing begins.
Signature:
1mergeStreams( 2 destStream: WritableStream, 3 srcStreams: ReadableStream[], 4 options?: {} 5) => Promise<void> 6 7mergeStreams( 8 destStream: WritableStream, 9 srcStreams: ReadableStream[], 10 options: {}, 11 cb: (err?: Error) => void 12) => void
Reads multiple streams, merges their contents and write into the given stream.
Param | Type | Description |
---|---|---|
destStream | WritableStream | A stream which will be used to write the merge result. |
srcStreams | ReadableStream[] | Streams which will be used to read data from. |
[options] | object | Merge options. Currently unused. |
[cb] | (err?: Error) => void | Callback function which will be called at completion. Will receive error as first argument if any. |
Last argument - cb
is a Node.js style callback function. If callback function is not passed, function will return a promise. That is, all the following variants will work:
1// options passed, callback style 2mergeStreams(destStream, srcStreams, {}, (err) => {}) 3 4// options missing, callback style 5mergeStreams(destStream, srcStreams, (err) => {}) 6 7// options passed, promise style 8await mergeStreams(destStream, srcStreams, {}) 9 10// options missing, promise style 11await mergeStreams(destStream, srcStreams)
Signature:
1mergeToString( 2 srcStrings: string[], 3 options?: {} 4) => string
Merges given XML strings and returns the result.
Param | Type | Description |
---|---|---|
srcStrings | string[] | Array of strings to merge together. |
[options] | object | Merge options. Currently unused. |
No vulnerabilities found.
No security vulnerabilities found.