jacobstr / esperance
PHP的BDD风格断言库。
v0.1.4
2015-02-27 21:48 UTC
Requires
- php: >=5.3.2
- evenement/evenement: ~1.0
- jacobstr/dumpling: ~0.0.3
This package is not auto-updated.
Last update: 2024-09-24 00:45:48 UTC
README
PHP的BDD风格断言库。
深受expect.js启发。
用法
安装
Espérance可以通过Composer安装。
首先,将以下内容保存为项目根目录下的composer.json。
{
"require": {
"esperance/esperance": "dev-master"
}
}
然后运行以下命令。
$ wget https://composer.php.ac.cn/composer.phar
$ php composer.phar install
然后Espérance将被安装在./vendor目录中,并且还会生成./vendor/autoload.php。
非常简单的手动测试脚本
只需定义您的expect方法或函数以构造Esperance\Assertion对象。
<?php require './vendor/autoload.php'; function expect($obj) { return new \Esperance\Assertion($obj); } expect(1)->to->be(1); echo "All tests passed.", PHP_EOL;
PHPUnit集成
使用esperance/esperance-phpunit。
扩展
使用事件调度器的扩展可用。
事件
- before_assertion
\Esperance\Assertion->beforeAssertion($callback) - assertion_success
\Esperance\Assertion->onAssertionSuccess($callback) - assertion_failure
\Esperance\Assertion->onAssertionFailure($callback)
用法
断言反例。
<?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
许可证
MIT许可证
作者
Yuya Takeyama