【发布时间】:2023-04-06 09:29:01
【问题描述】:
Boost.Test 是一个非常好的单元测试库,但是当我尝试在一个新项目中配置它时总是很痛苦。
如何配置我的项目,它使用 cmake,以使用具有以下要求的 boost(这确实是我在互联网上找到的大多数食谱中我不喜欢的东西的列表):
- 我不想使用 UTF 的单个标头变体(即我不想包含
boost/test/included/unit_test.hpp)。这样做的理由是它会减慢编译和 IDE 的速度。 - 我真的不想编写
main函数——除非它是一个单行(我没有找到任何复制粘贴方法来定义主函数)。因此,除非您可以提供这样的 main sn-p,否则这意味着 Boost.Test 是静态链接的。 - 我不想静态地包含所有内容(通过
-staticgcc 开关)。我也不想静态编译每个 boost 组件。 - 我不想在我的 cmake 配置中硬编码任何库路径。
所以这里是test.cpp我想用:
#define BOOST_TEST_MODULE ExampleTest
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_SUITE(ExampleSuite)
BOOST_AUTO_TEST_CASE( my_test )
{
BOOST_CHECK(true);
}
BOOST_AUTO_TEST_SUITE_END()
这里很简单(不工作!)CMakeLists.txt:
cmake_minimum_required(VERSION 2.8.11)
project(example)
add_executable(simple-test tests.cpp)
【问题讨论】:
标签: c++ boost cmake boost-test