Boost.Build&Boost.Test&Pythonで、簡単テスト環境!

かつて CppUnit を使っていたころは、テストケースを書くのが面倒でした。これを解決するため「河童プロジェクト」が誕生しました。Boost.Test が生まれテストを書くのが大幅に簡単になったのですが、僕はまだ不満でした。今度はそれらを一括してコンパイル&実行&結果の記録を行う「テスト環境」的なものがないのです。そこで、簡単なものですが、それらを作ってみることにしました。以下のファイルをダウンロードしてください。

利用法は、readme.jp.txt にも簡単に書いたのですが、Test 以下に適当に、フォルダを掘って、

  • Boost.Testを利用
  • mainを持ち、単独起動可能

な、cpp ファイルを置いてください。次に、test.bat と打つと、コンパイル、実行が行われた後、その日付のレポートCSVが出力されます。といっても、かなりたいした情報がありません。何か異常を検知するのに使えるだけですが、はっきり言って、自動テストなんて、それ以上の需要はないと思います。注意点としては、

  1. MSVC 以外を使うのであれば, report.py を変更すること
  2. boost の設置場所を /Jamfile 内にある BOOST_ROOT を書き換えて、指定すること。その際、\よりも/を区切り記号としたほうがより簡単に動作することに注意。また、インクルードパスを増やしたい場合は、INCLUDE の後ろにつなげて書くべし。
  3. 上記レポジトリでは、BOOST_AUTO_TEST を利用しているが minimal test の場合はリンクが必要ないので、その場合、Test に libboost_unit_test_framework-vc71-mt-gd-???.lib などのライブラリファイルを置く必要はない。また、その場合は、Test/Jamfile の、
 tests += [ run $(f) libboost_unit_test_framework-vc71-mt-gd-1_31.lib ] ;

を、

 tests += [ run $(f) ] ;

に、書き換えれば動作するはず...。

今は、バージョン 0.01 程度ですが、時間がたつごとに拡張されていくでしょう。あ、最後ですが、python をインストールして、パスを通すことをお忘れなく。Boost.Build のインストールに関しては、前に書いたので、そちらを参照してください。