Javaでの開発はJUnitでテストするのが当たり前になっているので、C言語でもそれっぽいもので単体テストしたい。
(自分でテストフレームワークっぽいものを作ろうと思えば作れるけど、さすがに面倒だし)
CUnitというものが世の中にはあるようだけど、同じCUnitという名前でも何人かが作っていて異なっているらしい^^;
そんな中、CUnitよりもCutterの方が良いという意見をちらほら目にしたので、Cutterを試してみた。
そしたら、なるほど、これは便利!
assert関数はJUnit3に似ていて分かり易いし、種類が豊富に揃っている。
テスト実行関数も自動的に収集してくれるので、main()に自分でテスト関数呼び出しを書いたりする必要も無い。
テスト結果も見やすい。(テスト失敗時には値とソースの場所まで出てくれる!)
ドキュメントも日本語でかなりの分量が書かれている。
惜しむらくは、ドキュメントのチュートリアルが複雑すぎることか^^;
「テストは自動で繰り返し行えるようにするものだ」という意思はひしひしと伝わってくるのだが、その為にacファイルとかamファイルとか(聞いたことないよ)を用意しなければならないように見えて、敷居が高そうに感じられてしまうorz
これに関しては『凡人プログラマーの独り言 Cutterのとても簡単な使い方』が非常に分かり易かった。最小限のCutterは拍子抜けするほど簡単だったw
で、それを参考に自分でもmakefileを作ってみた。(さすがに毎回gccコマンドを手で叩くのが良いとは思えないし)
makefileを書くのは久しぶりだったんだけど、ちょっと調べてみたら今さらながら知らない機能があるのにびっくりした^^;
テキスト変形関数って、超便利!
指定ディレクトリー内の*.cファイルの一覧を変数に入れるとか、UNIXコマンドを実行した結果を変数に入れるとかが出来る。
昔はこのやり方を知らなくて、makefile内にファイル一覧とかをいちいち書いてたんだよなぁ。ちくしょーw
※コメント投稿者のブログIDはブログ作成者のみに通知されます