CppUnit

第2回 C++アプリケーションの効率的なテスト手法(CppUnit編) (1/4):連載 C++開発者のための単体テスト入門 - @IT
この記事を見て、じわじわとバイナリエディタのドキュメント用のテストクラスを実装中。案外、テストのために実行させる処理数が多くて大変そうな予感。ドキュメントクラスのテストといっても、Undo/Redoが正しく実行できるか、ファイルの保存等が正しく実行できるか・・・のような処理が多くあります。そのため、ドキュメントクラスが複数ないとテストという作業が進みません。幸い、実装したいドキュメントクラスはいくつかあるので、ひとつのクラスが正しいことを確認できれば、それを元に別のクラスを簡単にテストできる。
 とはいえ、このテスト方式だと、ひとつ目のクラスが正しく動作することを前提になっている。つまり、それぞれのクラスを、それ単体でテストするんはどうするのか・・という問題に帰結してみたり(まぁ、UnitTestですから、帰結してよいんでしょうけど)。最近流行のFuzzying・・・は穴を片っ端から探してみるのと違って、UnitTestは「どんな処理が正しく動作するか」を細かくチェックするわけで、少々つらいものが・・。