とりあえず,メイン.たぶんこのファイル中のテストスイートも外に出せる.
// main.cpp #define BOOST_TEST_DYN_LINK #define BOOST_TEST_MAIN #include <boost/test/unit_test.hpp> #include <boost/test/unit_test_suite.hpp> bool isOdd(int n) { return n % 2 != 0; } BOOST_AUTO_TEST_SUITE(OddTest) BOOST_AUTO_TEST_CASE(oddTest) { BOOST_CHECK_EQUAL(isOdd(0), false); } BOOST_AUTO_TEST_SUITE_END()
偶数判定用のテストスイートはa.cppというファイルに.
// a.cpp #include <boost/test/unit_test.hpp> #include <boost/test/unit_test_suite.hpp> bool isEven(int n) { return n % 2 == 0; } BOOST_AUTO_TEST_SUITE(EvenTest) BOOST_AUTO_TEST_CASE(evenTest) { BOOST_CHECK_EQUAL(isEven(0), false); } BOOST_AUTO_TEST_SUITE_END()
これをつないでビルドすれば実行できる.
$ g++ -o main main.cpp a.cpp -lboost_unit_test_framework $ ./main --report_level=detailed a.cpp:13: error: in "evenTest": check isEven(0) == false failed [true != false] Test suite "Master Test Suite" failed with: 1 assertion out of 2 passed 1 assertion out of 2 failed 1 test case out of 2 passed 1 test case out of 2 failed Test suite "OddTest" passed with: 1 assertion out of 1 passed 1 test case out of 1 passed Test case "oddTest" passed with: 1 assertion out of 1 passed Test suite "EvenTest" failed with: 1 assertion out of 1 failed 1 test case out of 1 failed Test case "evenTest" failed with: 1 assertion out of 1 failed
基本的な使い方はこれで一通り把握できたかなぁ.しかし相変わらずドキュメントが読みにくかった.
0 件のコメント:
コメントを投稿