Test Smells
どっからテストの不吉な臭いを感じとるのかなぁ。
プログラマーが体験する順序がおおまかにあるなともったのでメモ。
Developers Not Writing Tests
まずは、書いている状態が良い状態だ、書かないことがまずい状況にいるんだ、やばい! と感じるところから。
やゔぁいと感じて、目覚めないと始まらない。
Assertion Roulette
テスト対象オブジェクトの1メソッドに対して 1テストメソッドでだらだらと複数のテストパターンを記述しちゃった。
これは、やゔぁい!
Obscure Test
「で、これは何のテストをしてるんだっけ??さっぱりわからん!」と思ったら、言われたら、 やゔぁい!
Test Logic in Production
プロダクションコードに if ( TEST == env) テスト用のコードが混ざっていたら、 やゔぁいぜ!
Hard-to-Test Code
「あれテストが書きにくいぞ?」と思ったら、やゔぁいぜ!くさいぜ!
Test Code Duplication
セットアップやアサーションに重複コードが、見えるようになる。これはやゔぁい!くさいぜ!
Obscure Test
再発。後から読み返して、テストの意図がさっぱりわからん。これはやゔぁい!
Erratic Test
テストが通ったり通らなかったり、気まぐれなんですけど。これはやゔぁい!
Fragile Test
ちょっと修正したら、いっぱい赤くなっちゃった。これはやゔぁい!
Slow Tests
てすとおせー。これやはゔぁい!
Production Bugs
リリース後にたくさんのバグフィードバックをもらっちゃった。これやはゔぁい!
急いで修正だ。むきー!テストの意図がわからん。うぎゃーOK NGどっちなんだ! イライラ!。おせぇ!。うぎゃー!ちょっと修正したらいっぱい赤になっちゃった。