1

テストの作成に取り組んでいますが、form_forからのモデルの作成がテストで失敗するのに、実際のブラウザーでは機能する理由がわかりません。モデル作成の問題点を簡単に確認する方法はありますか?

さらに良いのは、error_messages_forを介してアクセスするエラー出力をテストする簡単な方法はありますか?その場合、不正な形式のフォームが正しいエラーを出力していることを確認するテストも追加したいと思います。

4

1 に答える 1

1

を使用して、オブジェクトの検証エラーにアクセスできます@model.errors@model.errors.on(:field_name)特定のフィールドに適用されるエラーメッセージの配列を取得するために使用します。テストで使用@model.errors.invalid?(:field_name)して、特定のフィールドでエラーがトリガーされたことを表明することもできます。

例えば:

test "should reject invalid post" do
  @p = Post.new
  assert !@p.valid?
  assert_equal @p.errors.on(:title), 'cannot be blank'
end
于 2010-03-09T00:25:01.070 に答える