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

Correct way to separate Boost test suites in different files using 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"
...

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

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

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