BDD style assertion library for PHP.
Heavily inspired by expect.js.
Espérance can be installed using Composer.
At first, save below as composer.json
at the root of your project.
{
"require": {
"esperance/esperance": "dev-master"
}
}
And run these commands.
$ wget http://getcomposer.org/composer.phar
$ php composer.phar install
Then Espérance would be installed in ./vendor
directory and also ./vendor/autoload.php
is generated.
Just define your expect
method or function to construt Esperance\Assertion
object.
<?php
require './vendor/autoload.php';
function expect($obj) {
return new \Esperance\Assertion($obj);
}
expect(1)->to->be(1);
echo "All tests passed.", PHP_EOL;
Use esperance/esperance-phpunit.
Extension using event dispatcher is available.
- before_assertion
\Esperance\Assertion->beforeAssertion($callback)
- assertion_success
\Esperance\Assertion->onAssertionSuccess($callback)
- assertion_failure
\Esperance\Assertion->onAssertionFailure($callback)
Assertion counter example.
<?php
require './vendor/autoload.php';
$count = $success = $failure = 0;
function expect($subject) {
global $count, $success, $failure;
$extension = new \Esperance\Extension;
$extension->beforeAssertion(function () use (&$count) {
$count++;
});
return new \Esperance\Assertion($subject, $extension);
}
expect(NULL)->to->be(NULL);
expect(0)->to->be(0);
expect(1)->to->be(1);
echo "Count: {$count}", PHP_EOL; // => Count: 3
The MIT License
Yuya Takeyama