c++ - boost.test - 区分来自同一项目的不同构建配置的测试结果

标签 c++ visual-c++ boost-test

我有一个 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/

相关文章:

c++ - 从字符串中获取 IPv4 地址的最快方法

c++ - 使用内联 asm Hook usercall

html - MFC 中的粗体标签

c++ - 将一个矩阵 block 复制到 OPENCV 中的另一个矩阵 block

command-line-interface - 排除 Boost.Test 中的特定测试

c++ - 获取所有 boost 测试套件/测试用例

c++ - 调用 fread() c++ 时出现段错误

c++ - set_union 和 set_intersection 的问题 - C++

mysql - 通过Visual C++ DLL通过局域网访问本地MySQL数据库

eclipse - C++ Boost 测试、包结构和 Eclipse 项目设置