Phpunit Pretty Print
Prettify PHPUnit output
Better PHPUnit CLI output
I really like how Pest PHP formats and outputs test results, but I still prefer to use PHPUnit. Luckily there's Collision. This package is designed to give you beautiful error reporting when interacting with your app through the command line.
#Installation
composer require robiningelbrecht/phpunit-pretty-print --dev
#Configuration
Navigate to your phpunit.xml.dist file and add following config to set default options
(you can also set these options at run time):
<extensions> <bootstrap class="RobinIngelbrecht\PHPUnitPrettyPrint\PhpUnitExtension"> </bootstrap> </extensions>
Also make sure the color attribute is set to true:
<phpunit colors="true"> </phpunit>
#Options
All these options can be set at runtime as well, see usage.
#Output profiling report
<extensions> <bootstrap class="RobinIngelbrecht\PHPUnitPrettyPrint\PhpUnitExtension"> <parameter name="displayProfiling" value="true"/> </bootstrap> </extensions>
#Enable compact mode
<extensions> <bootstrap class="RobinIngelbrecht\PHPUnitPrettyPrint\PhpUnitExtension"> <parameter name="useCompactMode" value="true"/> </bootstrap> </extensions>
#Feel good about yourself after running your testsuite by displaying a Chuck Noris quote
<extensions> <bootstrap class="RobinIngelbrecht\PHPUnitPrettyPrint\PhpUnitExtension"> <parameter name="displayQuote" value="true"/> </bootstrap> </extensions>
#Disable pretty print.
This can be useful when you only want to prettify the output when forced via CLI (see usage).
<extensions> <bootstrap class="RobinIngelbrecht\PHPUnitPrettyPrint\PhpUnitExtension"> <parameter name="enableByDefault" value="false"/> </bootstrap> </extensions>
#Usage
> vendor/bin/phpunit
#Output profiling report
> vendor/bin/phpunit -d --profiling
#Enable compact mode
> vendor/bin/phpunit -d --compact
#Display Chuck Norris quote
> vendor/bin/phpunit -d --display-quote
#Enable/disable pretty print
> vendor/bin/phpunit -d --enable-pretty-print > vendor/bin/phpunit -d --disable-pretty-print
#Combine multiple options
> vendor/bin/phpunit --configuration=tests/phpunit.test.xml -d --compact -d --display-quote
#PHPUnit 9.x
This package does not support PHPUnit 9.x but Collision does out of the box. Run
composer require nunomaduro/collision:^6.0
Then add the Collision printerClass to your phpunit.xml in the phpunit section:
<phpunit printerClass="NunoMaduro\Collision\Adapters\Phpunit\Printer">
#Acknowledgements
- API used for Chuck Noris quotes: https://api.chucknorris.io/
- CLI formatting: https://github.com/nunomaduro/collision