nimut / phpunit-merger
将多个PHPUnit报告合并到一个文件中
2.0.1
2024-08-05 08:33 UTC
Requires
- php: ^8.0
- ext-dom: *
- ext-json: *
- ext-simplexml: *
- phpunit/php-code-coverage: ^9.0 || ^10.0
- symfony/console: >=2.7 <8.0
- symfony/finder: >=2.7 <8.0
Requires (Dev)
- php-parallel-lint/php-parallel-lint: ^1.4
- phpspec/prophecy: ^1.0
- phpunit/phpunit: ^9.3 || ^10.0
- symfony/filesystem: >=2.7 <8.0
Suggests
- friendsofphp/php-cs-fixer: Tool to automatically fix PHP coding standards issues
README
有时需要运行多个PHPUnit实例来执行项目的所有测试。不幸的是,每次运行都会生成自己的覆盖率和日志报告。PHPUnit没有提供合并多个运行报告的支持。
此项目提供两个命令来合并覆盖率文件和日志文件。它旨在为例如SonarQube Scanner提供合并报告以便进一步处理。
安装
使用 Composer 安装测试框架。
$ composer require --dev nimut/phpunit-merger
Composer会将该包添加到您的composer.json中的开发依赖项,并安装该包及其依赖项。
用法
覆盖率
覆盖率命令将包含PHP_CodeCoverage对象的文件合并成一个Clover XML格式的文件。
$ vendor/bin/phpunit-merger coverage <directory> [--html=<directory>] [<file>]
参数
directory
:包含一个或多个PHP_CodeCoverage对象的目录file
:合并结果应存储的文件。默认:标准输出
选项
html
:HTML报告应存储的目录lowUpperBound
:(可选) HTML格式中使用的lowUpperBound值highLowerBound
:(可选) HTML格式中使用的highLowerBound值
日志
日志命令将JUnit XML格式的文件合并成一个JUnit XML格式的文件。
$ vendor/bin/phpunit-merger log <directory> <file>
参数
directory
:提供包含一个或多个JUnit XML格式文件的目录file
:合并结果应存储的文件