我有文件 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 并且我希望每个套件都在其他文件中。
我想运行每个测试套件中的所有测试用例。我应该怎么办?
最佳答案
我有一个与您想要的类似的设置(参见 this Q&A )。如果您想要 CMake 解决方案,请看那里。否则,只需将您的测试用例拆分为多个文件,然后使用选项分别编译和链接它们
-DBOOST_TEST_MAIN -DBOOST_TEST_DYN_LINK
注意:通常首选将宏作为编译器/链接器选项而不是放在源文件中。有了几个测试源和一个 CMake 构建解决方案,您就可以调用 ctest
来运行所有测试可执行文件。
如果您想要一个测试可执行文件,他们会分别编译每个测试,并将它们链接在一起成为一个可执行文件。然后你可以运行这个可执行文件,它将运行所有测试。但是请注意,以这种方式仅运行一部分测试要困难得多。
关于c++ - boost 测试 - 其他文件中的每个套件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17001320/