holgerk / pest-plugin-equal-golden
Provides a toEqualGolden assertion, same as toEqual, but when null is given as argument, the test file is automatically edited and null is substituted with the actual value
Requires
- php: ^8.2
- nikic/php-parser: ^5.0
- pestphp/pest: ^2.33
- pestphp/pest-plugin: ^2.0.1
- symfony/var-exporter: ^7.0
Requires (Dev)
- pestphp/pest-dev-tools: ^2.9
README
Provides a toEqualGolden
assertion, same as toEqual
, but when null
is given as argument, the test file is
automatically edited and null
is substituted with the actual value.
So, if you add:
expect(['color' => 'golden']) ->toEqualGolden(null);
...to your test and execute it. The null
expression is replaced by the actual value:
expect(['color' => 'golden']) ->toEqualGolden(['color' => 'golden']);
In principle, it's about saving oneself the recurring work of writing, updating and copying an expectation.
Installation
You can install the package via composer:
composer require holgerk/pest-plugin-equal-golden --dev
Usage
Just pass null
to the toEqualGolden
expectation and null
will be automatically replaced during the
first test run.
expect($actual)->toEqualGolden(null);
Later you can edit the expectation by hand or insert null
again to have it automatically replaced.
If you want to regenerate all expectations at once you can add the argument: --update-golden
to your pest
invocation.
# regenerate all expectations at once from their actual values
./vendor/bin/pest --update-golden
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
See Also
- pest-plugin-snapshots
This plugin also facilitates the automatic generation of expectations from the actual value, but it will store the generated expectation in separate files.
Credits
License
The MIT License (MIT). Please see License File for more information.