使用夹具时提升单元测试过滤器

boost unit test filter when using a fixture

我需要为 运行 指定一个特定的单元测试。当然,看了文档之后又看了Stack Overflow Answers,但是都没有用到fixture

如果我有:

,如何为 运行 指定测试用例
BOOST_AUTO_TEST_SUITE(mysuite)

struct Fixture
{
    Fixture()
    {
        BOOST_TEST_MESSAGE("Setup");
    }

    ~Fixture()
    {
        BOOST_TEST_MESSAGE("Teardown");
    }
};

BOOST_FIXTURE_TEST_CASE(add_remove, Fixture)
{
}

BOOST_AUTO_TEST_SUITE_END()

如果我通过 --run_test=add_remove,进程 returns 会显示一条消息 测试设置错误:没有匹配过滤器的测试用例或所有测试用例都被禁用。

我看过: http://www.boost.org/doc/libs/1_64_0/libs/test/doc/html/boost_test/runtime_config/test_unit_filtering.html

Is it possible to run only subsets of a Boost unit test module?

How to set which Boost unit test to run

当您使用测试用例的路径作为 --run_test 的参数时,它还必须包含套件的名称。在你的例子中,传递 --run_test=mysuite/add_removedocumentation 中对此进行了描述(查看该部分中的 table)。

Live demo