テストに関する戦略
こないだから、テスト不足で「ぎゃー」ってなることが多いので、なんとかしないといけない。こうすると良いよね♪みたいな話ではなくて、こうしたい、という決意表明的なもの。
昼食後の2時間をリファクタリング・テストタイムに使う
午前中、うまくいけば2時間、だいたい1時間半程度の時間をテストを書いたり、リファクタリングをしたりの時間に使う。というのをやっていたんだけど、午前中は遅刻したり、割り込みが入ったりで、あんまりうまくないような気もしてきた。
これを昼食後に移すことにする。
午前中は、生産性改善タイムと呼ぼう。新しいライブラリを試したり、elispを読み書きしたり、変なツールを試したり、そういう時間にする。
モデルのテストがないとかありえない
さすがにモデルのテストがないとか許されないと思うので、なんとかして書く。
これまでモデルのテストが書き難い要素として
- Fixtureのメンテだるすぎる
- validation増やすと、全部newしてるところ直すのダルすぎる
という点があるわけだけど、多分Factory girlで改善してきた気がしている。
現時点でモデルのテストは大体書けてるはず。これをキープしたい。
カバレッジ測定的ななにかをやるかどうか考えるべき。
更新する系のコントローラについてはテストしておく
- validation付ける
- コントローラ・ビューの更新忘れる
- 手で動作確認するわけだけど、更新系はうっかり忘れるパターンが残ることが多い
- デプロイ
- ギャーーーーー!!!!
というパターンを何度も経験してきてるので、そろそろ学習しても良い頃合いである。
エンドツーエンドのテストをどうするかは、ちょっとまだ良くわかってないんだけど、それは置いておいても、Railsで言うところのfunctionalテストで更新する系だけでも書いておく、というのは比較的着手しやすそうで、効果が大きいんじゃないだろうか。