1 #define BOOST_TEST_MODULE Tested_Module // 主測試套件,一個測試項目中只能有一個主測試套件 2 3 #include "stdafx.h" 4 #include "D:\VSProject\BoostUnitTest\BoostUnitTest\Tested\tested.h" // 待測工程頭文件 5 6 struct Tested_Fixture // 測試夾具 7 { 8 Tested_Fixture() 9 { 10 BOOST_TEST_MESSAGE("setup fixture"); 11 tmpTested = new Tested(); 12 } 13 ~Tested_Fixture() 14 { 15 BOOST_TEST_MESSAGE("teardown fixture"); 16 delete tmpTested; 17 } 18 Tested * tmpTested; 19 }; 20 21 BOOST_FIXTURE_TEST_SUITE(Tested_test, Tested_Fixture) // 測試套件 22 23 BOOST_AUTO_TEST_CASE(Tested_Method_add_Test) // 測試用例 24 { 25 // TODO: Your test code here 26 BOOST_WARN(tmpTested->add(2, 2) == 4); // WARN型預言檢測 27 BOOST_CHECK(tmpTested->add(2, 2) == 4); // CHECK型預言檢測 28 BOOST_REQUIRE(tmpTested->add(2, 2) == 4); // REQUIRE型預言檢測 29 30 } 31 32 BOOST_AUTO_TEST_CASE(Tested_Method_testException_Test) // 測試用例 33 { 34 // TODO: Your test code here 35 BOOST_REQUIRE_NO_THROW(tmpTested->testException()); // 驗證是否無異常拋出,是則為真 36 BOOST_REQUIRE_THROW(tmpTested->testException(), logic_error); // 驗證拋出的是否是logic_error異常 37 BOOST_REQUIRE_THROW(tmpTested->testException(), runtime_error); // 驗證拋出的是否是runtime_error異常 38 39 } 40 41 BOOST_AUTO_TEST_SUITE_END() |