AWDwR本のテストの章を読みつつ、UnitTestを実装。今まで「UnitTestを勉強するためのUnitTest」しか書いたことがなかったので、実際に自分が作りたいアプリでの実装は新鮮。自然と「このテストもやっておいた方がいいかな?」と考える。
現在のテストのCoverageはこんな感じ
C:\work\RoR\higureason>rake stats
(in C:/work/RoR/higureason)
+----------------------+-------+-------+---------+---------+-----+-------+
| Name | Lines | LOC | Classes | Methods | M/C | LOC/M |
+----------------------+-------+-------+---------+---------+-----+-------+
| Helpers | 7 | 6 | 0 | 0 | 0 | 0 |
| Controllers | 263 | 196 | 3 | 21 | 7 | 7 |
| Components | 0 | 0 | 0 | 0 | 0 | 0 |
| Functional tests | 146 | 105 | 4 | 16 | 4 | 4 |
| Models | 260 | 212 | 10 | 25 | 2 | 6 |
| Unit tests | 209 | 158 | 8 | 25 | 3 | 4 |
| Libraries | 0 | 0 | 0 | 0 | 0 | 0 |
| Integration tests | 0 | 0 | 0 | 0 | 0 | 0 |
+----------------------+-------+-------+---------+---------+-----+-------+
| Total | 885 | 677 | 25 | 87 | 3 | 5 |
+----------------------+-------+-------+---------+---------+-----+-------+
Code LOC: 414 Test LOC: 263 Code to Test Ratio: 1:0.6
“Code to Test Ratio”がテスト達成率。60%と出てますが、絶対そんなに終わってません。行数を調べているだけのようなので、目安程度ですね。もっとちゃんとした統計情報と取るにはRuby Coverageというツールがあるそうで。
gem install coverage
でインストールし
ruby -rcoverage unit_test.rb
で統計情報が出るらしい。RadRailsから呼べるように出来るといいんだけど、今日は時間切れ。