swetechuckjunit-merger-cli

一个CLI工具,可以将两个或多个JUnit XML文件合并成一个。

1.0.0 2022-12-18 18:37 UTC

This package is auto-updated.

Last update: 2024-08-26 13:52:41 UTC


README

CircleCI codecov

正如其名,这个CLI工具可以帮助合并两个或多个JUnit XML文件。
底层它使用了JUnit merger库

用法

默认情况下,它逐行从标准输入读取输入文件名,并将结果XML内容输出到标准输出。
所以基本用法如下

find path/to/junit -type f -name '*.xml' | junit-merger merge:files

输入文件名也可以作为参数提供。例如:

junit-merger merge:files 1.xml 2.xml

可以将合并后的XML内容放入文件中,使用标准的shell重定向。例如:

junit-merger merge:files 1.xml 2.xml > junit.xml

或者使用--output-file CLI选项。例如:

junit-merger merge:files --output-file='junit.xml' 1.xml 2.xml

用法 - 处理程序

处理程序负责读取和解析输入文件,并生成合并后的XML内容。
要使用的处理程序可以通过--handler选项控制。例如:

junit-merger merge:files --handler='dom_read_write' 1.xml 2.xml

有三个可用的选项

用法 - 处理程序 - dom_read_write

使用这个处理程序,输入文件使用\DOMDocument进行解析,输出也使用它生成。
它既安全又可靠,但资源消耗大。
另一方面,这个处理程序重新计算所有的<testsuite tests assertions errors warnings failures skipped time />属性。
当多个<testcase />来自不同的输入文件并且属于同一个<testsuite />时,这可能很有用。

用法 - 处理程序 - dom_read

使用这个处理程序,输入文件使用\DOMDocument进行解析,输出使用字符串连接生成。

用法 - 处理程序 - substr

输入文件在<testsuites>标签的打开位置和</testsuites>标签的关闭位置上必须是相同的格式。
从第一个输入文件解析这些位置,并将相同的位置用于其他输入文件。
通常,输入文件来自同一个来源 - 例如PHPUnit - 因此它们的格式是相同的。