テスト駆動開発memo
ポイント
- テストコードははじめから自明ではない
- テストコードとコード本体を一緒に成熟させていく
- コストコードとコード本体を分離し管理すべきではない
- テストコード自体で価値を持つものではない。コード本体と合わせることで初めて意味を持つべき
- 基本的に仮実装→リファクタリングの繰り返しなので、クリーンなコードとなりやすい
- デグレードが起こりづらい
- 具象的なコードから開始するため、抽象度が適切になりやすい
- テストコード生成のためのコストがかかる
- 途中からの適用は困難。全ケースのテストを書こうなどと思ってはいけない
- 要件によって向き不向きはある。
- ビヘイビア駆動開発はTDDの発展形。期待される振る舞いからテストコードを起こすため、テストを使って仕様設計できる
- BDDは部分的に組み込みずらいと考えられる。個人的に取り入れるのは難しそう
実装
- テスティングフレームワーク自体はたくさんある。xUnitが無難か…
Java
- JUnit / JUnitEE
- JBehave (BDD)
- Instinct (BDD)
C#
- Specter (BDD)
- xUnit.net
- NUnit
PHP
Python
最終更新:2013年08月11日 15:55