hshn / phpunit-object-constraint

Explicit object comparison helper of PHPUnit

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

phpunit-object-constraint Build Status

PHPUnit helper for explicit object comparison.

Make it easier to your apps more safety by providing easy object assertion.

How to use

1. Import helper trait into your class

use Hshn\PHPUnit\Framework\Constraint\ObjectConstraintSupport;

class MyTest extends \PHPUnit_Framework_TestCase 
{
    use ObjectConstraintSupport;
}

2. Build your object constraint using constraint builder

public function test1()
{
    // this constraint means: 
    //      property 'foo' start with 'a' and end with 'e'
    //  and property 'bar' is true 
    $constraint = $this->constraintFor(\stdClass::class)
        ->property('foo')
            ->stringStartsWith('a')
            ->stringEndsWith('e')
        ->property('bar')
            ->isTrue()
        ->getConstraint();
}

3. Assert any value with the constraint you built

self::assertThat($value, $constraint);

About

Explicit object comparison helper of PHPUnit


Languages

Language:PHP 100.0%