ZfcUser + BjyAuthorize を使用して、Zend Framework 2 プロジェクトの単体テストに取り組み始めています。
私は単体テストの専門家ではないので、ここでZfcUser をモックする方法を見つけました。
ここで、BjyAuthorize もモックする必要があります。誰かが以前にそれを行うことができましたか?
ZfcUser + BjyAuthorize を使用して、Zend Framework 2 プロジェクトの単体テストに取り組み始めています。
私は単体テストの専門家ではないので、ここでZfcUser をモックする方法を見つけました。
ここで、BjyAuthorize もモックする必要があります。誰かが以前にそれを行うことができましたか?
確かに、これに応答するのは遅いです。
モックオブジェクトを使用して解決策にたどり着きました(モックを使用するのは好きではありません...)、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);
私はこの解決策が好きではありません。本当に醜いと思いますが、他の方法を見つけることができません。