我有一个 VC++ 项目,它有两个构建配置,每个都会导致使用不同的第 3 方库。例如 Release_A 和 Release_B 使用库 A 和 B,并包装它们的功能。
我们使用一组 boost.test 单元测试,因此我们可以确保两个版本的工作相同,因此我们针对两个 build_configurations 编译一个测试套件应用程序以提供 test_A.exe 和 test_B.exe,这些测试发出 test_A .xml 和 test_B.xml。
问题是测试 XML 不以任何方式区分哪个版本被测试,因此当我们将这两个 XML 文件拉入 Jenkins 等工具时,无法判断哪个配置是导致任何失败的原因。
有没有一种巧妙的方法可以在 C++ 测试套件代码中以某种方式执行此操作?
最佳答案
好吧,我找到了一个简单的答案...设置预处理器 #define
在每个构建配置的项目设置中,并将其烘焙到 BOOST_TEST_MODULE
中定义。
例如:
#define BOOST_TEST_MODULE MyAppName(SOME_PREPROCESSOR_VAR)
关于c++ - boost.test - 区分来自同一项目的不同构建配置的测试结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16586478/