テストコードでバリデーションを検証する

こんにちは、鈴木です。

テストコードでバリデーションの検証を行うときの話です。

以下のような User クラスがあるとします。

この User クラスのバリデーションのテストを書く場合に、どのようなテストコードを書きますか?

こんな感じ、・・・だとテストとして少し緩いですね。

できれば valid? の戻り値だけではなく、エラーの種類(blank なのか too_long なのか、など)も検証できると嬉しいです。

ということで、以下のようなメソッドを書いてみました。

上記メソッドを使用すると、User クラスのテストコードは以下のようになります。

「assert User.new(:name => 'たろう').valid?」よりはだいぶ良くなったかと思います。

もっと良い方法が無いか、今も考え中です。

Comments are closed, but you can leave a trackback: Trackback URL.