テストに関する戦略

こないだから、テスト不足で「ぎゃー」ってなることが多いので、なんとかしないといけない。こうすると良いよね♪みたいな話ではなくて、こうしたい、という決意表明的なもの。

昼食後の2時間をリファクタリング・テストタイムに使う

午前中、うまくいけば2時間、だいたい1時間半程度の時間をテストを書いたり、リファクタリングをしたりの時間に使う。というのをやっていたんだけど、午前中は遅刻したり、割り込みが入ったりで、あんまりうまくないような気もしてきた。

これを昼食後に移すことにする。

午前中は、生産性改善タイムと呼ぼう。新しいライブラリを試したり、elispを読み書きしたり、変なツールを試したり、そういう時間にする。

モデルのテストがないとかありえない

さすがにモデルのテストがないとか許されないと思うので、なんとかして書く。

これまでモデルのテストが書き難い要素として

  • Fixtureのメンテだるすぎる
  • validation増やすと、全部newしてるところ直すのダルすぎる

という点があるわけだけど、多分Factory girlで改善してきた気がしている。

現時点でモデルのテストは大体書けてるはず。これをキープしたい。

カバレッジ測定的ななにかをやるかどうか考えるべき。

更新する系のコントローラについてはテストしておく

  1. validation付ける
  2. コントローラ・ビューの更新忘れる
  3. 手で動作確認するわけだけど、更新系はうっかり忘れるパターンが残ることが多い
  4. デプロイ
  5. ギャーーーーー!!!!

というパターンを何度も経験してきてるので、そろそろ学習しても良い頃合いである。

エンドツーエンドのテストをどうするかは、ちょっとまだ良くわかってないんだけど、それは置いておいても、Railsで言うところのfunctionalテストで更新する系だけでも書いておく、というのは比較的着手しやすそうで、効果が大きいんじゃないだろうか。

今後の課題

  • エンドツーエンドのテストをせんといけん:Capybaraとかどうやって使うのか考える
  • 名前が気に入らないとか言ってないで、Rspecへの移行を始めるべき
  • テスト遅すぎ (FGしてるせいもあるなこれきっと)
  • iPadアプリをなんとかしないといけない説