2012-01-18 15 views
3

デフォルトのRailsテストスイートを使用すると、特定の検証のみをテストするテストをどのように作成できますか?たとえば、存在、数値、および独自のバリデータの検証がある場合、どのように数値をテストすればよいですか?Railsテスト - 特定の検証方法をテストするには?

は、私は、数値の検証作業を持っていないと言うので、このテストは失敗するはずです:

test "should test numeric validator" do 
    post = Post.new(:number => 'not a number') 
    assert !post.save, "it saved a non-numeric value for :number" 
end 

しかし、私自身のバリデータは、それが他のいくつかの理由のために保存することができますので、私のいなかったので、それが通過しますテストは実際には適切にテストされません。

答えて

4

あなたはすなわち、特定のフィールドのpost.errorsハッシュを主張coud:

assert_nil post.errors[:number], "it saved a non numeric value for :number" 
関連する問題