boost::testの使い方
最近、UnitTestに興味を持ち始めた。
今まで、テストコードは自分で書いていたが、まぁ、リポートが結構イイ感じだし、導入も簡単そうなboost::testを利用する事にした。
今まで、河童*1やCppUnit*2を使用してみたが、どうも使用感が〜 と言う事になり、いままで、おざなりにしてきたが・・・ どうも、最近、自分の作っているライブラリ郡のテストをしていないのでビシっ!!!と決めたいと思ったのである。
さて、使い方だが、詳しくはgoogle:boost::test じゃ、ダメですよね^^;
まずはLet's boost*3を読んで見てからです。
このページから、#include
今まで、律儀にライブラリを作ってから弄っていました。
ちなみにVCとかでTest用プロジェクト作って、unit_test_framework.libをリンクする場合、使用するランタイムライブラリは「マルチスレッド(DLL、デバッグ)」にしないとダメらしい。
minimal.hppで事足りるような気もしないでもない・・・。
何故、minimal.hppを推すのか?
- テストしたいコードをC言語で記述している
CppUnit系にしない理由
- CppUnitやCuppaのようなそんな大げさ?なツール郡が必要ない
- すでに、自分で作ったassert関数みたいなのでチマチマ記述したテストコードが存在する。
- CppUnitはその他、クラス等を覚えるの面倒
CUnitにしない理由
- C++で記述したディレクトリを収集するクラスが存在していたので、C言語で記述したファイル関係を扱うコードをテストするにはC++も使える方が何かと良い
- GPLである。(別にGPLでもテストコードがGPLになるだけで、自分のライブラリまではGPLにはならないと思うのだが、念のため・・・。)
以上の理由で私はboost/test/minimal.hppを使う事にしました。
でも、minimal.hppを見た感じ、throwをcatchしてエラーを表示するだけの機構かな?
と、思ったり・・・。
assertじゃだめ?(笑)*4
続く・・・
チョットまったーーー!!!
良く考えて見れば・・・、自分でUnitTestライブラリを書けばいいんじゃないか!!!
また、車輪の際発明が始まる・・・。
*1:http://sourceforge.jp/projects/cuppa/ http://www.shibu.jp/cuppa/
*3:http://www.kmonos.net/alang/boost/ 言語環境 test
*4:まだ、UnitTestの枠組みを理解していないみたいです。