BjyAuthorize和PHPUnit

时间:2013-08-27 13:31:17

标签: phpunit zfcuser bjyauthorize

我正在开始使用ZfcUser + BjyAuthorize进行Zend Framework 2项目的单元测试。

我不是单元测试专家,所以我找到了如何模拟ZfcUser here

现在我还要嘲笑BjyAuthorize。有人曾经设法做过吗?

1 个答案:

答案 0 :(得分:4)

对此作出回应肯定是迟了。

我使用Mock对象来解决问题(我不喜欢使用模拟...),我找不到正确初始化BjyAuthorize的方法......

我的测试控制器从AbstractHttpControllerTestCase

扩展

在testController :: setUp()中我创建了这样的模拟对象:

    // Creating mock
    $mockBjy = $this->getMock("BjyAuthorize\Service\Authorize", array("isAllowed"), array($this->getApplicationConfig(), $this->getApplication()->getServiceManager()));

    // Bypass auth, force true
    $mockBjy->expects($this->any())
            ->method('isAllowed')
            ->will($this->returnValue(true)); 

    // Overriding BjyAuthorize\Service\Authorize service
    $this->getApplication()
         ->getServiceManager()
         ->setAllowOverride(true)
         ->setService('BjyAuthorize\Service\Authorize', $mockBjy);

我不喜欢这个解决方案,我发现它真的很丑,但我找不到其他方法去做。