[前][次][番号順一覧][スレッド一覧]

rails:360

From: Kazuhiro Yoshida <moriq@m...>
Date: Wed, 14 Sep 2005 15:27:16 +0900
Subject: [rails:360] モデルのテスト (Re: 参加します)

もりきゅうです。

Makoto Satoh <makotosato2@y...> wrote:
> モデルのテストについて疑問があります。
> 
> モデルのテストが必要な場合ってどんなときなのだろうかと
> 疑問に思っています。
(snip)
> こういうケースではモデルのテストをちゃんと書いたという
> ケースがあれば例を教えていただきたいのですが。

ActiveRecord の機能をテストする必要はないというご意見には同意します。
しかし、モデルに固有のロジックはモデルクラスに載せますから (それが 
ActiveRecord クオリティ) モデルに対するテストは必要になると思います。

私が作成したものからいくつか事例を拾ってみます。

■ validation (validates_* が使えない場合)
条件が合わなくて validates_* が使えない場合、条件を自分で書くので
テストを書きます。

■ 計算項目
自分で書くロジックにはテストを書きます。
誕生日から年齢を計算するとか。

■ 計算項目のキャッシュ
フックを使って計算項目をキャッシュするパターンがあります。
フックの結果には確信を持てないのでテストを書きます。

■ DB 依存の機能
AR アダプタに実装されてないために自分で書くところや、DB の仕様に
依存しそうなところにテストを書きます。

■ やっぱり AR もテスト
AR の挙動に確信が持てないところにテストを書きます。
habtm のカラム値が String で返るとか。

具体的なコードは次を参照してください。
http://moriq.tdiary.net/20050914.html#p01
# この記事を書く途中、ひとつバグを潰せました。:)

----
Kazuhiro Yoshida  moriq@m...

--
ML: rails@r...
使い方: http://QuickML.com/
Web Site: http://wiki.fdiary.net/rails/
ML Archives: http://www.fdiary.net/ml/rails/

[前][次][番号順一覧][スレッド一覧]

       359 2005-09-14 03:07 [makotosato2@y...    ] 参加します                              
->     360 2005-09-14 08:27 ┗[moriq@m...          ] モデルのテスト (Re: 参加します)       
       361 2005-09-14 09:24  ┗[makotosato2@y...    ]