2

不正なデータを使用してテスト対象のコントローラーに「post」リクエストを送信するActionController派生テストがあります。コントローラは、新しいオブジェクトを作成して保存しようとします。モデルには、保存時にトリガーされる検証メソッドがあり、テストによって送信された誤ったデータを検出する検証エラーを生成します。

ここまでは順調ですね。ここで、コントローラーはassert_response:failureを使用して、HTTP応答ステータスが失敗であることを確認します。ただし、テストはこのステップで失敗し、次のようになります。

予想される応答は<:failure>でしたが、<200>でした

@ obj.errorsには検証エラーが正しく入力されていますが、どういうわけかHTTP応答は常に200です。

手がかりはありますか?

4

1 に答える 1

3

コントローラコードは何をしますか?Railsで検証エラーを処理する通常の方法は、200 OK応答を送信することです(例:with render :action => 'new')。応答には、検証エラーメッセージとともにフォーム(送信されたパラメーターが入力された)が含まれます。

于 2010-01-15T13:32:43.027 に答える