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

标签 unit-testing testing boost test-suite

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

最佳答案

符合这个documentation ,OP 应该使用以下参数调用单元测试可执行文件

--run_test=TestB

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

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

--run_test=*/CorrectAddition

Boost.Test的通配能力很强,所以参数也可以写成

--run_test=*/C*

关于unit-testing - 如何在 boost.test 库中执行指定的测试套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3615979/

相关文章:

unit-testing - 测试所需行为与 TDD

node.js - Mocha --require 等到迁移

spring-boot - 如何在 kotlin 的 Spring Boot 测试中从伴随对象访问 lateinit 变量?

c++ - 使用进程间映射 boost 模板错误

c++ - boost::interprocess 共享内存open_or_create每次都抛出异常

javascript - 使用 Jasmine 测试 Angular.js Controller 而不模拟工厂

android - 无法在 robolectric 的 android studio 中创建 "test"文件夹

c++ -/usr/bin/ld : error: cannot find -lboost_unit_test_framework

c# - 无法在 Visual Studio 中调试单元测试

java - 如何调试 Spring NoSuchBeanDefinitionException