如何执行boost.test库中指定的测试套件

发布于 2024-09-17 00:55:08 字数 572 浏览 8 评论 0原文

我正在使用 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”,我该如何执行它。 我真的很感谢您的时间和帮助。抱歉,如果此问题已在其他地方发布或记录。

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

决绝 2024-09-24 00:55:08

符合此 文档,OP应使用以下参数调用单元测试可执行文件

--run_test=TestB

,以仅运行测试套件TestB的单元测试。

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

--run_test=*/CorrectAddition

Wildcard,Boost.Test的能力相当强大,因此该参数也可以写为

--run_test=*/C*

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*
毅然前行 2024-09-24 00:55:08

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

请参阅 文档中的此页面就是一个很好的示例。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文