2

我有文件 test.cpp。它看起来像这样:

#define BOOST_TEST_MAIN
#include <boost/test/included/unit_test.hpp>


BOOST_AUTO_TEST_SUITE( test_suite1 )

BOOST_AUTO_TEST_CASE( my_test )
{
    // testing...
}

BOOST_AUTO_TEST_SUITE_END()

没关系。有用....

但我想要更多的 BOOST_AUTO_TEST_SUITE 并且我想在其他文件中拥有每个套件。

我想从每个测试套件中运行所有测试用例。我该怎么办?

4

1 回答 1

1

我有与您想要的类似的设置(请参阅此问答)。如果您想要 CMake 解决方案,请查看那里。否则,只需将测试用例拆分为多个文件,然后使用选项分别编译和链接它们

 -DBOOST_TEST_MAIN -DBOOST_TEST_DYN_LINK

注意:通常最好将宏作为编译器/链接器选项而不是放在源文件中。使用多个测试源和 CMake 构建解决方案,您可以调用ctest以运行所有测试可执行文件。

如果您想要一个测试可执行文件,他们分别编译每个测试,并将它们链接到一个可执行文件中。然后你可以运行这个可执行文件,它会运行所有的测试。但是请注意,以这种方式仅运行选择的测试要困难得多。

于 2013-06-08T16:16:32.443 回答