Prophecy是功能强劲且灵活的PHP5.3+的模拟框架。尽管它最初是用来满足phpspec2的需求,但是它足够灵活,并且可以在任何测试框架中使用。
示例代码:
<?phpclass 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(); }}
评论