PHP 5.3+模拟框架:Prophecy

yxwpx 4年前

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();      }  }

项目主页:http://www.open-open.com/lib/view/home/1437393986490