引き続き「UNIXプログラミングの道具箱」(CUnit/CppUnit)
単体テスト用のライブラリ
ライブラリ名 | 対象言語 |
---|---|
CUnit | C |
CppUnit | C++ |
JUnit | Java |
PyUnit | Python |
テスト駆動型の開発モデル
- 仕様を決める
- 関数やデータ構造を決める
- テストケースを作成する
- 実装とでデバッグ
実装よりも先にテストケースを作成して、テストコードを書いてしまう。
この手順で開発をすると、どこまで開発が進んでいるかが明確になるだけでなく、
バグ修正とか新しい機能の追加をした時に、リグレッションが無いことを簡単に保証できる。
この「テストケースを作成して、テストコードを書く」ところに上記のライブラリを使う。
まずは、テストケース毎に1つの関数を起こして、テストケースを実行するプログラムを書く。
この段階でもテストケースの関数はいきなり実装しないで、
まずは枠組みを作ってコンパイルして、エラーを潰し、エラーが潰れたら実装に移る。
少し進めてエラーを潰し、また進めてエラーを潰す、漸進的に進めていくモデル。
普段の作業ではbashしか使わないので、bash用の単体テストライブラリはないかなぁ。。。
あった、『shunit2』
次にbashでコードを書く時には使ってみよう。
サンプルや英語のドキュメントがあるから、四苦八苦しながら試してみよう。