引き続き「UNIXプログラミングの道具箱」(CUnit/CppUnit)

単体テスト用のライブラリ

ライブラリ名 対象言語
CUnit C
CppUnit C++
JUnit Java
PyUnit Python

テスト駆動型の開発モデル

  1. 仕様を決める
  2. 関数やデータ構造を決める
  3. テストケースを作成する
  4. 実装とでデバッグ

実装よりも先にテストケースを作成して、テストコードを書いてしまう。
この手順で開発をすると、どこまで開発が進んでいるかが明確になるだけでなく、
バグ修正とか新しい機能の追加をした時に、リグレッションが無いことを簡単に保証できる。


この「テストケースを作成して、テストコードを書く」ところに上記のライブラリを使う。
まずは、テストケース毎に1つの関数を起こして、テストケースを実行するプログラムを書く。
この段階でもテストケースの関数はいきなり実装しないで、
まずは枠組みを作ってコンパイルして、エラーを潰し、エラーが潰れたら実装に移る。
少し進めてエラーを潰し、また進めてエラーを潰す、漸進的に進めていくモデル。


普段の作業ではbashしか使わないので、bash用の単体テストライブラリはないかなぁ。。。
あった、『shunit2』
次にbashでコードを書く時には使ってみよう。
サンプルや英語のドキュメントがあるから、四苦八苦しながら試してみよう。