0

特定のページにリダイレクトする必要があるチェリーピー アプリケーションを作成しており、これを実現するために HTTPRedirect('mynewurl', status=303) を使用しています。これは、ブラウザ (Safari) がユーザーに確認せずに「mynewurl」にリダイレクトする限り機能します。ただし、assertInBody() を使用してノーズテストを使用して単体テストを試みると、別の結果が得られます。assertInBody は、「mynewurl」の実際のコンテンツではなく、「このリソースは mynewurl で見つけることができます」と報告します。私の質問は、どのようにしてノーズテストを Safari と同じように動作させるか、つまり、「質問」メッセージを表示せずにページにリダイレクトさせることができるかということです。

ありがとうケビン

4

1 に答える 1

0

Python単体テストでは、基本的にサーバーをテストしています。サーバーからの正しい応答はリダイレクト例外であり、リダイレクトされたページ自体ではありません。この動作を 2 つの手順でテストすることをお勧めします。

  1. 最初のページ/URL が正しく初期化された (コード、URL) HTTPRedirect 例外をスローするかどうかをテストします
  2. 2 番目のページ (リダイレクトされているページ) のテスト コンテンツ

ただし、もちろん、どうしてもという場合は、例外属性を調べてターゲット URL のテスト メソッドを再度呼び出すことで、Try/Except のリダイレクトを自分で解決できます。

于 2013-05-20T15:17:50.750 に答える