サイトからのすべてのページが正常かどうかを確認するためのテストを書いています。symfony 2 - リクエストはリダイレクトに従います
関連する基本コードはこれです:
function pagesUpTest() {
static::bootKernel($options);
$client = static::$kernel->getContainer()->get('test.client');
$client->setServerParameters($server);
$crawler = $client->request('GET', $url);
$this->assertTrue($client->getResponse()->isSuccessful());
}
すべてが通常のページのために[OK]を動作します。
リダイレクトを行うページがいくつかあります(古い記事のほうが、新しいバージョンやより優れたバージョンにリダイレクトされます。動的であり、後で表示されるので、別々に扱うことはできません)。
は今、私はちょうどこのようなリダイレクトに成功した場合にアサートスキップする条件を追加しました:
function pagesUpTest() {
static::bootKernel($options);
$client = static::$kernel->getContainer()->get('test.client');
$client->setServerParameters($server);
$crawler = $client->request('GET', $url);
if (!$client->getResponse()->isRedirection()) {
$this->assertTrue($client->getResponse()->isSuccessful());
}
}
まだ...これは後に、すべてがOKであるリダイレクトすることを想定しているので、テストはのための関連性が低いとなりそのような場合。私はリダイレクトに従い、THATページが成功したかどうか確認したいと思います。
どうにかできますか?
ちょうど私のマシンを閉じました:)。私は明日にそれを試して、それがうまくいくかどうかを投票+承認します。 – zozo
こんにちは@zozoは心配しないでください、あなたの時間を取る:) – Matteo
最初のソリューションが動作します。二番目に小さな間違いがあります($ this-> clientは$ clientではありません)。修正した後、エラーは発生しませんが、まだ動作していません(恐らくそれ以上の調整が必要です)。それでも...最初はトリックをやりました:)。 – zozo