2

私の質問は、Symfony2 のいくつかのアプリケーションのテストに関連しています。私は Behat と Mink を使ってテストを書いていますが、登録システムのテストに問題があります。

ユーザーが登録フォームを送信した後にメールを確認し、このメールのアクティベーション リンクをたどりたいです。

メールのテストに関する短いチュートリアルを見つけました:
http://docs.behat.org/cookbook/using_the_profiler_with_minkbundle.html

このチュートリアルの解決策は、symfony の構成ファイルで「intercept_redirects」が「true」に設定されている場合にのみ機能しますが、この変数を「false」のままにしておく必要があるいくつかのテストが既にあるので、私の質問は...可能ですか?この値を 1 つのテストに対してのみ一時的に変更するには、この値を「true」に変更してからすべてのテストを更新する必要がありますか?

登録システムをどのようにテストし、それらのテストをどのように作成しますか?

4

1 に答える 1

1

CommonContextsのMinkRedirectContextを使用してみてください。これにより、シナリオの自動リダイレクトを停止し、URLを検査できます。

Given I do not follow redirects
 When I ...
 Then I should be redirected to "/thank-you"

followRedirects()を自分で呼び出すことにより、手動で行うこともできます。

$this->getSession()->getDriver()->getClient()->followRedirects(false);
于 2012-08-02T08:26:40.733 に答える