ZF2 アプリケーションの単体テストを試みていますが、コードをテストするためだけに常にフレームワークと戦っています。今のところ、ルートを使用しているのは気に入らないようです。
私の ServiceConfig はサービスを作成しており、サービスのルートを取得したいと考えています。
$callbackUrl = $serviceManager->get('router')->assemble(array(), array(
'name' => 'some_random_route_name'
));
私のアプリケーションは正常に動作しますが、PHPUnit はサービスの作成時に文句を言います:
Zend\Mvc\Router\Exception\RuntimeException: Route with name "some_random_route_name" not found
onBootstrap() でルートのリストをダンプすると、そこにルートが設定されていることがわかりますが、AFTERWARDS と呼ばれるサービス ファクトリには何もありません。それらはどういうわけか上書きされています。
ルートは単体テスト内で機能する必要がありますか、それとも何らかの方法でモックする必要がありますか?
私が見ている唯一のルートは「doctrine_cli」のようで、コンソールルートのみが機能していると考えています。PHPUnit はコンソール コマンドであるため、すべてのルートが削除され、サービスが強制終了されます。これは正常ですか?