robiningelbrecht / phpunit-pretty-print
美化 PHPUnit 输出
v1.3.1
2024-02-19 19:11 UTC
Requires
- php: ^8.1
- nunomaduro/collision: ^7.8|^8.0
- phpunit/phpunit: ^10.3|^11.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.9
- phpstan/phpstan: ^1.10
- spatie/phpunit-snapshot-assertions: ^5.0
README
我非常喜欢 Pest PHP 格式化和输出测试结果的方式,但我仍然更喜欢使用 PHPUnit。幸运的是有 Collision。这个包旨在通过命令行与你的应用交互时提供美观的错误报告。
安装
composer require robiningelbrecht/phpunit-pretty-print --dev
配置
导航到你的 phpunit.xml.dist
文件,并添加以下配置以设置默认选项(你也可以在运行时设置这些选项)
<extensions> <bootstrap class="RobinIngelbrecht\PHPUnitPrettyPrint\PhpUnitExtension"> </bootstrap> </extensions>
同时确保将 color
属性设置为 true
<phpunit colors="true"> </phpunit>
选项
所有这些选项都可以在运行时设置,请参阅 用法。
显示性能分析报告
<extensions> <bootstrap class="RobinIngelbrecht\PHPUnitPrettyPrint\PhpUnitExtension"> <parameter name="displayProfiling" value="true"/> </bootstrap> </extensions>
启用紧凑模式
<extensions> <bootstrap class="RobinIngelbrecht\PHPUnitPrettyPrint\PhpUnitExtension"> <parameter name="useCompactMode" value="true"/> </bootstrap> </extensions>
在运行测试套件后,通过显示 Chuck Norris 引用来感到高兴
<extensions> <bootstrap class="RobinIngelbrecht\PHPUnitPrettyPrint\PhpUnitExtension"> <parameter name="displayQuote" value="true"/> </bootstrap> </extensions>
禁用美化打印。
这可能在只想通过 CLI 强制美化输出时很有用(请参阅 用法)。
<extensions> <bootstrap class="RobinIngelbrecht\PHPUnitPrettyPrint\PhpUnitExtension"> <parameter name="enableByDefault" value="false"/> </bootstrap> </extensions>
用法
> vendor/bin/phpunit
显示性能分析报告
> vendor/bin/phpunit -d --profiling
启用紧凑模式
> vendor/bin/phpunit -d --compact
显示 Chuck Norris 引用
> vendor/bin/phpunit -d --display-quote
启用/禁用美化打印
> vendor/bin/phpunit -d --enable-pretty-print > vendor/bin/phpunit -d --disable-pretty-print
组合多个选项
> vendor/bin/phpunit --configuration=tests/phpunit.test.xml -d --compact -d --display-quote
PHPUnit 9.x
此包不支持 PHPUnit 9.x,但 Collision 除外。运行
composer require nunomaduro/collision:^6.0
然后,将 Collision 的 printerClass
添加到 phpunit.xml
中的 phpunit
部分
<phpunit printerClass="NunoMaduro\Collision\Adapters\Phpunit\Printer">
鸣谢
- Chuck Norris 引用所使用的 API:https://api.chucknorris.io/
- CLI 格式化:https://github.com/nunomaduro/collision