おおむらです
ここしばらく、Cのプログラムの改造をする必要があって、
テスト用のユーティリティというかCUnitもどきを作りました。
今回、www.egroups.comに公開されたCUnitとは向かっている
方向が違うみたいに思うので、参考になればと思い、公開することに
しました。
公開にあたって、上の改造に固有の部分を少し手直しして、他の
状況でも使えるようにしたものを次の場所に置きました。
http://www.ki.rim.or.jp/~omura/utility/testutility.zip
xUnitに似てますけど、オブジェクト指向じゃないので
ちょっとみぐるしい部分もあります。
もうすこしなんとかしたいなとは思っています。
テストはまだWindows98のcygwin with gcc2.95.2 でしか
やっていません。
testutility_test.c がこのユーティリティのテストプログラム
なので、それを見ると使い方など分かるかなと思います。
ご意見お寄せ頂ければ幸いです。
-
作業を始めて一番必要だと思ったのは、assertEqualsとかassert
などの関数です。これらがないと、テストプログラムが煩雑になって
分かりにくくなり、何をテストしているのか分からなくなるからです。
というわけで、真っ先にこれを作るところから始めました。
-
setUp()とtearDown()は、もともとの作業では一種類しかなかったので
わざわざ別の関数にしていませんでした。
-
failした回数を数えるのは、別になくても困らなかったので
作りませんでした。テストの進行状況は'.'を表示するので分かります。
-
改造したプログラムは、あちこちの関数からexit()するような代物だった
ので、それ用の仕組みも作りました。
最初は、あきらめていたのですが、関数の意味というのは、
「こうなっている」というのだけでなくて「こうなっていてはいけ
ない」というのもないと、まったく分からないということを
痛切に感じ、このようにしました。