4

我正在使用 Boost.Test 库在 C++ 中实现单元测试用例。假设我有两个套房,例如

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() 

我只想运行说套件'TestB',我该如何执行它。我真的很感谢你的时间和帮助。抱歉,如果此问题已在其他地方发布或记录在案。

4

2 回答 2

3

假设您正在使用库提供的主入口点、命令行解析等,并且还没有推出您自己的,您可以在运行时通过命令行开关按名称或模式选择特定的测试套件和测试用例.

请参阅文档中的此页面以获取一个很好的示例。

于 2010-09-01T11:09:51.690 回答
1

根据本文档,OP 应使用以下参数调用单元测试可执行文件

--run_test=TestB

只运行测试套件的单元测试TestB

CorrectAddition 如果要运行所有测试套件的单元测试,则参数为

--run_test=*/CorrectAddition

Boost.Test 的通配符能力非常强大,因此参数也可以写成

--run_test=*/C*
于 2020-04-09T07:50:47.017 回答