开发者

How to execute specified test suites in boost.test library

I am using Boost.Test library for开发者_运维技巧 implementing unit test cases in C++. Suppose I have two suites such as

BOOST_AUTO_TEST_SUITE(TestA)
BOOST_AUTO_TEST_CASE(CorrectAddition)
{
BOOST_CHECK_EQUAL(2+2, 4);
}

BOOST_AUTO_TEST_CASE(WrongAddition)
{
    BOOST_CHECK_EQUAL(2 + 2, 5);
}

BOOST_AUTO_TEST_SUITE_END()

BOOST_AUTO_TEST_SUITE(TestB)
BOOST_AUTO_TEST_CASE(CorrectAddition)
{
bool ret = true;
    BOOST_CHECK_EQUAL(ret, true);
}
BOOST_AUTO_TEST_CASE(WrongAddition)
{
    BOOST_CHECK_EQUAL(2 + 2, 5);
}
BOOST_AUTO_TEST_SUITE_END() 

and I would like to run only say suite 'TestB', how shall I execute it. I really thank for your time and help. Sorry if this question is been posted or documented else where.


Conform to this documentation, the OP should call the unit test executable with the following parameter

--run_test=TestB

to run only the unit tests of test suite TestB.

If the unit test CorrectAddition of all test suites shall be run, then the parameter is

--run_test=*/CorrectAddition

Wildcard ability of Boost.Test is quite powerful, hence the parameter could also be written as

--run_test=*/C*


Assuming you are using the library-supplied main entry point, command-line parsing, etc., and haven't rolled your own, you can select specific test suites and test cases by name or pattern via a command-line switch at run time.

See this page in the documentation for a good example.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜