Download the PHP package 99designs/php-junit-merge without Composer
On this page you can find all versions of the php package 99designs/php-junit-merge. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download 99designs/php-junit-merge
More information about 99designs/php-junit-merge
Files in 99designs/php-junit-merge
Package php-junit-merge
Short Description PHP-Unit J-Unit XML File Merger
License MIT
Homepage https://github.com/andreas-weber/php-junit-merge
Informations about the package php-junit-merge
andreas-weber/php-junit-merge
php-junit-merge is a library that merges multiple junit result xml files.
Installation
Simply add a dependency on andreas-weber/php-junit-merge
to your project's composer.json
file if you use Composer to manage the dependencies of your project.
Usage
After updating dependencies by composer a new binary php-junit-merge
is available for usage.
root@dev:~/projects/sample/vendor/bin ./phpjunitmerge
phpjunitmerge 1.0.5 by Andreas Weber
Usage:
phpjunitmerge [--names="..."] [--ignore="..."] dir file
Arguments:
dir Directory where all files ready to get merged are stored
file The target file in which the merged result should be written
Options:
--names A comma-separated list of file names to check (default: "*.xml")
--ignore A comma-separated list of file names to ignore (default: "result.xml")
--help (-h) Display this help message
--quiet (-q) Do not output any message
--verbose (-v|vv|vvv) Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
--version (-V) Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
--no-interaction (-n) Do not ask any interactive question
--no-suffix Do not add suffix for test suites with duplicate names
The binary expects at least two parameters:
dir
is the directory, where the application should search for xml filesfile
is the result file, in which the application should write the merged content
A simple call could look like this:
root@dev:~/projects/sample/vendor/bin ./phpjunitmerge src/Tests/Unit/Fixtures result.xml
phpjunitmerge 1.0.0 by Andreas Weber
Found and processed 3 files. Wrote merged content in 'result.xml'.
Example
Single Result Files
<?xml version="1.0" encoding="UTF-8"?>
<testsuites>
<testsuite name="/Some_PHPUnit_Testsuite1" tests="2" assertions="2" failures="0" errors="0" time="1.234567">
<testsuite name="Unit\Testsuite2" file="/Unit/Testsuite1.php" tests="2" assertions="2" failures="0" errors="0" time="0.003623">
<testcase name="someRandomTestName1" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="8" assertions="1" time="0.002003"/>
<testcase name="someRandomTestName2" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="13" assertions="1" time="0.000795"/>
</testsuite>
</testsuite>
</testsuites>
<?xml version="1.0" encoding="UTF-8"?>
<testsuites>
<testsuite name="/Some_PHPUnit_Testsuite2" tests="3" assertions="3" failures="0" errors="0" time="1.234567">
<testsuite name="Unit\Testsuite1" file="/Unit/Testsuite1.php" tests="3" assertions="3" failures="0" errors="0" time="0.003623">
<testcase name="someRandomTestName1" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="8" assertions="1" time="0.002003"/>
<testcase name="someRandomTestName2" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="13" assertions="1" time="0.000795"/>
<testcase name="someRandomTestName3" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="18" assertions="1" time="0.000825"/>
</testsuite>
</testsuite>
</testsuites>
<?xml version="1.0" encoding="UTF-8"?>
<testsuites>
<testsuite name="/Some_PHPUnit_Testsuite3" tests="6" assertions="6" failures="0" errors="0" time="1.234567">
<testsuite name="Unit\Testsuite3" file="/Unit/Testsuite1.php" tests="2" assertions="2" failures="0" errors="0" time="0.003623">
<testcase name="someRandomTestName1" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="8" assertions="1" time="0.002003"/>
<testcase name="someRandomTestName2" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="13" assertions="1" time="0.000795"/>
</testsuite>
<testsuite name="Unit\Testsuite4" file="/Unit/Testsuite1.php" tests="4" assertions="4" failures="0" errors="0" time="0.003623">
<testcase name="someRandomTestName1" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="8" assertions="1" time="0.002003"/>
<testcase name="someRandomTestName2" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="13" assertions="1" time="0.000795"/>
<testcase name="someRandomTestName3" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="16" assertions="1" time="0.000795"/>
<testcase name="someRandomTestName4" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="21" assertions="1" time="0.000795"/>
</testsuite>
</testsuite>
</testsuites>
Merged Result File
<?xml version="1.0" encoding="utf-8"?>
<testsuites>
<testsuite tests="11" assertions="11" failures="0" errors="0" time="3.703701">
<testsuite name="/Some_PHPUnit_Testsuite1" tests="2" assertions="2" failures="0" errors="0" time="1.234567">
<testsuite name="Unit\Testsuite2" file="/Unit/Testsuite1.php" tests="2" assertions="2" failures="0" errors="0" time="0.003623">
<testcase name="someRandomTestName1" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="8" assertions="1" time="0.002003"/>
<testcase name="someRandomTestName2" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="13" assertions="1" time="0.000795"/>
</testsuite>
</testsuite>
<testsuite name="/Some_PHPUnit_Testsuite2" tests="3" assertions="3" failures="0" errors="0" time="1.234567">
<testsuite name="Unit\Testsuite1" file="/Unit/Testsuite1.php" tests="3" assertions="3" failures="0" errors="0" time="0.003623">
<testcase name="someRandomTestName1" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="8" assertions="1" time="0.002003"/>
<testcase name="someRandomTestName2" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="13" assertions="1" time="0.000795"/>
<testcase name="someRandomTestName3" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="18" assertions="1" time="0.000825"/>
</testsuite>
</testsuite>
<testsuite name="/Some_PHPUnit_Testsuite3" tests="6" assertions="6" failures="0" errors="0" time="1.234567">
<testsuite name="Unit\Testsuite3" file="/Unit/Testsuite1.php" tests="2" assertions="2" failures="0" errors="0" time="0.003623">
<testcase name="someRandomTestName1" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="8" assertions="1" time="0.002003"/>
<testcase name="someRandomTestName2" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="13" assertions="1" time="0.000795"/>
</testsuite>
<testsuite name="Unit\Testsuite4" file="/Unit/Testsuite1.php" tests="4" assertions="4" failures="0" errors="0" time="0.003623">
<testcase name="someRandomTestName1" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="8" assertions="1" time="0.002003"/>
<testcase name="someRandomTestName2" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="13" assertions="1" time="0.000795"/>
<testcase name="someRandomTestName3" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="16" assertions="1" time="0.000795"/>
<testcase name="someRandomTestName4" class="Unit\Testsuite1" file="/Unit/Testsuite1.php" line="21" assertions="1" time="0.000795"/>
</testsuite>
</testsuite>
</testsuite>
</testsuites>
Developer
Environment
Boot:
Enter virtual machine:
Run tests:
Build targets
Attributions
Thanks to Sebastian Bergmann for his gist merge-phpunit-xml.php, which was the base and inspired me to develop this library.
Thoughts
Pull requests are highly appreciated. Built with love. Hope you'll enjoy.. :-)
All versions of php-junit-merge with dependencies
symfony/console Version ^3.0 || ^4.0 || ^5.0
symfony/finder Version ^3.0 || ^4.0 || ^5.0
theseer/fdomdocument Version 1.6.*