使用CLion在不同文件中分离Boost测试套件的正确方法

时间:2018-03-17 21:09:49

标签: c++ testing boost cmake clion

我试图在我的CLion项目中使用Boost测试,但我在模拟测试方面遇到了一些问题。在Boost文档中,始终只有一个文件包含下面定义的所有测试,但由于我计划进行多次测试,因此这并不好。
我希望拥有的是每个测试套件都在一个单独的文件中,并且" main"测试文件以执行CLion测试环境中的所有测试。

我找到了一种方法来做到这一点,但它非常难看并且感觉不对,所以我正在寻找正确的方法来做到这一点。

我目前正在使用这个:

// CMakeLists.txt

...

add_executable(all_tests tests/all_tests.cpp ${SOURCES})
target_link_libraries(all_tests my_lib)
// tests/all_tests.cpp

#define BOOST_TEST_MODULE Project Tests
#include <boost/test/included/unit_test.hpp>

#include "Test1.cpp"
#include "Test2.cpp"
...

1 个答案:

答案 0 :(得分:2)

你的意思是你想要一个翻译单元(“cpp文件”)来定义测试运行器。

请参阅:http://www.boost.org/doc/libs/1_66_0/libs/test/doc/html/boost_test/adv_scenarios/entry_point_overview.html

在底部显示了代码的3个不同组织的链​​接,以获得一个带入口点的TU。