とりあえず,メイン.たぶんこのファイル中のテストスイートも外に出せる.
// 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 件のコメント:
コメントを投稿