madewithlove/phpunit-snapshots

This package is abandoned and no longer maintained. The author suggests using the spatie/phpunit-snapshot-assertions package instead.

Snaphot testing for PHPUnit

0.1.2 2016-12-09 09:19 UTC

This package is auto-updated.

Last update: 2022-02-01 13:03:38 UTC


README

Build Status Latest Stable Version Total Downloads

This trait allows you to use Jest-like snapshot testing in your PHPUnit tests.

It is a very basic trait and is only meant to snapshot JSON-encodable structures, not complex objects and such.

Installation

composer require madewithlove/phpunit-snapshots

Usage

Using snapshots in tests

Simply call the assertion on any encodable result (the result of a function, a variable, etc.). You can pass an identifier as second argument which will be used as title of the snapshot in the snapshot file.

<?php
class MyTestCase extends \PHPUnit_Framework_TestCase
{
    use \Madewithlove\PhpunitSnapshots\SnapshotAssertions;
    
    public function testSomething()
    {
        $this->assertEqualsSnapshot($this->someComplexOperation());
        $this->assertEqualsSnapshot($this->someComplexOperation(), 'Compute something');
    }
}

This will generate a snapshot if we didn't have one for this test, else it will assert that the current results match the ones in the snapshot.

Updating all snapshots

You can update all snapshots in your tests by running the following:

$ phpunit -d --update

Testing

$ composer test

License

The MIT License (MIT). Please see License File for more information.