robiningelbrecht/phpunit-pretty-print

v1.3.1 2024-02-19 19:11 UTC

This package is auto-updated.

Last update: 2024-09-19 20:28:20 UTC


README

PHPUnit

CI License PHPStan Enabled PHP PHPUnit PHPUnit

我非常喜欢 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

Example default

显示性能分析报告

> vendor/bin/phpunit -d --profiling

Example profiling

启用紧凑模式

> vendor/bin/phpunit -d --compact

Example compact

显示 Chuck Norris 引用

> vendor/bin/phpunit -d --display-quote

Example 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">

鸣谢