現在、rails3アプリを開発中です。
テストにはRSpecを使用しています。
RSpecを使うにあたって、僕が注意している2点を書いておきます。
(別にRSpecだから、ということでもないですね・・・)
カバレッジ100%をキープする。
Rubyはコンパイルによる単純ミスの発見ができないため、
くだらないタイポなどが残ってしまう可能性があります。
RSpecとrcovやsimplecovなどのカバレッジ計測ツールを組み合わせて、
一度も通っていないルートをなくしています。
fixturesは必要最小限に抑える。
fixturesによるテストデータはとても便利です。
これに頼りすぎて、なんでもかんでもfixturesとして定義してしまうと、
テストケース間の結合度が密になり、テストのメンテナンス性が低くなります。
僕のチームでは、fixturesは、もっとも単純な正常系ケースを実行するのに必要な量のレコードのみを
定義するに留めて、他のケースに必要なデータはbeforeで作るか、スタブオブジェクトを使って
テストするようにしています。
0 件のコメント:
コメントを投稿