Index: [Article Count Order] [Thread]

Date:  Sun, 26 Nov 2000 13:58:57 +0900
From:  omura@....jp
Subject:  [XP-jp:01190] C のテスト環境
To:  extremeprogramming-jp@....jp (extremeprogramming-jp ML)
Message-Id:  <20001126135921omura@....jp>
Posted:  Sun, 26 Nov 2000 13:59:21 +0900
X-Mail-Count: 01190

おおむらです

ここしばらく、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()するような代物だった
ので、それ用の仕組みも作りました。
最初は、あきらめていたのですが、関数の意味というのは、
「こうなっている」というのだけでなくて「こうなっていてはいけ
ない」というのもないと、まったく分からないということを
痛切に感じ、このようにしました。