2013/9/17
Sansan様でNiigata.rbの再演
昨年からお仕事でお世話になっているSansan様にてNiigata.rbの再演をしました。
この発表を作る上で今のプロジェクトに影響されているところも沢山あるので、そのあたりの裏話を混ぜたりして話してみました。
発表後の質疑応答のときに「なかなか上手にテストが書けないんだけど、いいテストと悪い(?)テストは何がどう違うのか。どうやったらいいテストが書けるようになるのか」みたいなことを言われたのですが、私の思いとしては
- describeとcontextが整理されていること
- そのdescribeとcontextが嘘をついていないこと
で十分じゃないかなぁと思います。
1番目は、ここが整理されていると、エッジケースの漏れがないかとか、仕様のずれや漏れなどがないかとか、一目でわかるのでレビューが楽なんですよね。
2番目は、よくあるのがmockやstubを多用している(せざるをえない)ときですね。 shard_contextとかにも繋がるんですが、せっかく日本語(や英語)で状況を整理して書いているのに、実際にコード見たら「その騙し方はないだろう」みたいになるのがつらいよねという話。 で、多くの場合そういうテストコードは落ちてほしいときに落ちなくて、落ちないで欲しいときに落ちるよね、と。
他にもいろいろ質問をいただいたのですが、外と発表するのとは違ってコンテキストを共有できる状態でのディスカッションはやっぱり話が早いので、こういう機会を増やしていけるといいなぁと思ったのでした。
発表の機会をくださったSansan様ありがとうございました。
created_at: 2015-08-06 01:43:33 +0900
updated_at: 2015-08-06 01:43:33 +0900