使用 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")来定义测试运行器。
在底部它显示了指向您的代码的 3 个不同组织的链接,以获得一个带有入口点的 TU。
我正在尝试在我的 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")来定义测试运行器。
在底部它显示了指向您的代码的 3 个不同组织的链接,以获得一个带有入口点的 TU。