今のチームにテストコードの導入を本格的にしようと思ってるので、思考の整理がてらメモ。内容は初学者向け。 テストの必要性をとくのは比較的簡単である程度できた。既存のレガシーコードはとりあえず忘れることに(特定メンバーでプロジェクト的に実施)。 というわけで、新規コードはみんなテスト書いてね! と、これだけでテストを書いてくれるでしょうか? 答えは否でした。 原因として自分の書きたいコードをどうテストすれば良いかわからないというものです。 新規コードなのでテストをしやすいように設計をすれば良いだけです。TDDはそれを支援してくれる有効な手法です。 しかし、テストが無い環境に慣れた人間はそもそもテスタブルコードを見慣れてません。なので、自分の書きたい実装をどう書けばテストが書きやすくなるかが分からないのでテストコードが非常に複雑になったり、立ち止まったりしてしまいます。 なので、テスタブルコード