2
我開始使用ZfcUser + BjyAuthorize爲Zend Framework 2項目進行單元測試。BjyAuthorize和PHPUnit
我不是一個單元測試專家,所以我發現如何模擬ZfcUser here。
現在我還必須嘲笑BjyAuthorize。有沒有人設法做到這一點?
我開始使用ZfcUser + BjyAuthorize爲Zend Framework 2項目進行單元測試。BjyAuthorize和PHPUnit
我不是一個單元測試專家,所以我發現如何模擬ZfcUser here。
現在我還必須嘲笑BjyAuthorize。有沒有人設法做到這一點?
那麼對此做出迴應肯定會遲到。
我來用模仿對象(當然我不喜歡使用模擬......)的解決方案,我無法找到一個方法來正確初始化BjyAuthorize ...
那麼我的測試控制器延伸從AbstractHttpControllerTestCase
在::的TestController設置()我所做的模擬對象這樣的:
// 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);
我不喜歡,雖然這個解決方案,我覺得很醜陋,但我不能找到一個其他方式來做到這一點。
這確實很晚,我終於切換到Selenium + PHPUnit來測試我的網站,它看起來很有前途,因爲它很容易使用,並且可以同時測試JavaScript(我的一半代碼實際上是JavaScript)。 –