Boost minimal test

は、Boost.Testライブラリのビルド不要で使用できる小さなテストライブラリとなっています。

#include <vector>
#include <boost/test/minimal.hpp>

int test_main(int argc, char* argv[])
{
    std::vector<int> v;
    BOOST_CHECK(v.empty());
    BOOST_REQUIRE(v.size() == 0);

    return 0;
}
**** no errors detected

minimal testで用意されているのは以下の4つ:

  • BOOST_CHECK(predicate) : 条件式を引数にとり、失敗時でもテストを続行します。
  • BOOST_REQUIRE(predicate) : こちらは、失敗時に例外を投げてテストを終了するので、失敗したら続行不可能なケースで使用します。
  • BOOST_ERROR(message) : エラーメッセージを出力します。
  • BOOST_FAIL(message) : 致命的なエラーのメッセージを出力します。


軽量なテストライブラリとしては、他にがありますが、そちらはたった1つのヘッダファイルで構成されるライブラリなので、移植するのに向いているかもしれません。
あと、双方に言えることですが、実装が簡単で、かつ有用という意味で、例外が投げられるかどうかのテストくらいはminimal/lightweightにあってもいいかもしれません。


参照:
Boost Test Library: The minimal testing facility