2013/01/08

[rails] RSpecを使う際のポイント

現在、rails3アプリを開発中です。
テストにはRSpecを使用しています。
RSpecを使うにあたって、僕が注意している2点を書いておきます。
(別にRSpecだから、ということでもないですね・・・)

カバレッジ100%をキープする。

Rubyはコンパイルによる単純ミスの発見ができないため、
くだらないタイポなどが残ってしまう可能性があります。
RSpecとrcovやsimplecovなどのカバレッジ計測ツールを組み合わせて、
一度も通っていないルートをなくしています。

fixturesは必要最小限に抑える。

fixturesによるテストデータはとても便利です。
これに頼りすぎて、なんでもかんでもfixturesとして定義してしまうと、
テストケース間の結合度が密になり、テストのメンテナンス性が低くなります。
僕のチームでは、fixturesは、もっとも単純な正常系ケースを実行するのに必要な量のレコードのみを 定義するに留めて、他のケースに必要なデータはbeforeで作るか、スタブオブジェクトを使って テストするようにしています。

0 件のコメント: