Boost.Build&Boost.Test&Pythonで、簡単テスト環境!
かつて CppUnit を使っていたころは、テストケースを書くのが面倒でした。これを解決するため「河童プロジェクト」が誕生しました。Boost.Test が生まれテストを書くのが大幅に簡単になったのですが、僕はまだ不満でした。今度はそれらを一括してコンパイル&実行&結果の記録を行う「テスト環境」的なものがないのです。そこで、簡単なものですが、それらを作ってみることにしました。以下のファイルをダウンロードしてください。
- http://cvs.sourceforge.jp/cgi-bin/viewcvs.cgi/gslib/GSLib/
- Jamfile
- project-root.jam
- Test
- Jamfile
- readme.jp.txt
- readme.txt
- report.py
- test.bat
利用法は、readme.jp.txt にも簡単に書いたのですが、Test 以下に適当に、フォルダを掘って、
- Boost.Testを利用
- mainを持ち、単独起動可能
な、cpp ファイルを置いてください。次に、test.bat と打つと、コンパイル、実行が行われた後、その日付のレポートCSVが出力されます。といっても、かなりたいした情報がありません。何か異常を検知するのに使えるだけですが、はっきり言って、自動テストなんて、それ以上の需要はないと思います。注意点としては、
- MSVC 以外を使うのであれば, report.py を変更すること
- boost の設置場所を /Jamfile 内にある BOOST_ROOT を書き換えて、指定すること。その際、\よりも/を区切り記号としたほうがより簡単に動作することに注意。また、インクルードパスを増やしたい場合は、INCLUDE の後ろにつなげて書くべし。
- 上記レポジトリでは、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 のインストールに関しては、前に書いたので、そちらを参照してください。