BoostのLightweightTest
Fusionのテストに使われていたので使ってみました。
インクルードするのは
detail以下なので取り扱い注意。
用意されているのは、3つのマクロ、BOOST_TEST, BOOST_ERROR, BOOST_TEST_EQと、
結果を出力するboost::report_errors()関数だけです。
今回使用したのはBOOST_TESTとboost::report_errors()です。
正常終了の例:
#include <vector> #include <boost/detail/lightweight_test.hpp> int main() { std::vector<int> v; BOOST_TEST(v.size() == 0); v.push_back(3); BOOST_TEST(v.size() == 1); return boost::report_errors(); }
No errors detected.
エラーがあった場合の例:
#include <vector> #include <boost/detail/lightweight_test.hpp> int main() { std::vector<int> v; BOOST_TEST(v.size() == 0); v.push_back(3); BOOST_TEST(v.size() != 1); return boost::report_errors(); }
main.cpp(10): test 'v.size() != 1' failed in function 'int main()' 1 error detected.
簡単なテストであれば、これだけで十分な気がしますね。