PHP 5.3+模拟框架:Prophecy
yxwpx
9年前
Prophecy 是功能强劲且灵活的 PHP 5.3+ 的模拟框架。尽管它最初是用来满足 phpspec2 的需求,但是它足够灵活,并且可以在任何测试框架中使用。
示例代码:
<?php class UserTest extends PHPUnit_Framework_TestCase { private $prophet; public function testPasswordHashing() { $hasher = $this->prophet->prophesize('App\Security\Hasher'); $user = new App\Entity\User($hasher->reveal()); $hasher->generateHash($user, 'qwerty')->willReturn('hashed_pass'); $user->setPassword('qwerty'); $this->assertEquals('hashed_pass', $user->getPassword()); } protected function setup() { $this->prophet = new \Prophecy\Prophet; } protected function tearDown() { $this->prophet->checkPredictions(); } }