2013-08-27 9 views
2

ZfcUser + BjyAuthorize를 사용하여 Zend Framework 2 프로젝트의 단위 테스트 작업을 시작합니다.BjyAuthorize 및 PHPUnit

저는 단위 테스트 전문가가 아니므로 ZfcUser를 조롱하는 방법을 찾았습니다. here.

이제 BjyAuthorize도 조롱해야합니다. 누구든지 전에 그것을 할 수 있었습니까?

답변

4

글쎄, 확실히 늦었습니다.

내가 모의 객체를 (물론 내가 ... 모의를 사용하여 좋아하지 않는다)를 사용하여 솔루션에 왔어요, 내가

글쎄 내 테스트 컨트롤러는 확장 ... 제대로 BjyAuthorize을 초기화 할 수있는 방법을 찾을 수 없습니다 나는 그것이 정말 추하다는 점을 발견하지만이를 찾을 수 없습니다 그래도 난이 솔루션을 좋아하지 않아

// 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); 

: AbstractHttpControllerTestCase

에서 는 testController에서 ::의 setUp

() 나는 그런 mock 객체를 만든 그것을 할 다른 방법.

+0

정말 늦었습니다. 마침내 Selenium + PHPUnit으로 전환하여 내 웹 사이트를 테스트 했으므로 사용하기 쉽고 유망한 것으로 보입니다. 동시에 JavaScript를 테스트 할 수 있습니다 (코드의 절반은 실제로 JavaScript입니다). –