symfony2コントローラでは、Response
オブジェクトを返すコントローラをテストしたいと思います。私のテストクラスはWebTestCase
です。私はstatic::createClient()
を使用して運用クライアントを取得します。symfony2コントローラの機能テスト:ルートの生成方法
問題はです。私の現在のインストールでは、仮想ホストを使用して良いルートを呼び出しています。
$client->getContainer()->get('router')->generate('my_route', array(), true)
localhostをホストとしてルートを生成します。しかし、私はホストとしてmyproject.localを持っているので、これはうまくいきません。
$client->getContainer()->get('kernel')->getRootDir()
と他のディレクトリメソッドは、WebパスではなくLinuxファイルパスを提供します。
私はプロジェクトで一人ではないので、ハードコードすることはできません。正しいルートを取得する方法は何ですか、あるいはコントローラをテストする別の方法がありますか?
なぜあなたは 'generate'メソッドの3番目の引数として' true'をを渡すのですか?本当に絶対URLが生成される必要がありますか? –
はい、デフォルトのURLはlocalhostにもリンクされているためです。 コントローラをテストする別の方法が必要です。 – AlphaB
Symfonyの提供されたテストクライアントを使用していませんか? –