robiningelbrecht / phpunit-pretty-print
Prettify PHPUnit output
Fund package maintenance!
robiningelbrecht
www.buymeacoffee.com/ingelbrecht
Installs: 193 476
Dependents: 18
Suggesters: 0
Security: 0
Stars: 65
Watchers: 3
Forks: 3
Open Issues: 0
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
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