1

我有一个 VC++ 项目,它有两个构建配置,每个都会导致使用不同的 3rd-party 库。例如 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++ 测试套件代码中以某种方式做到这一点?

4

1 回答 1

0

好吧,我找到了一个简单的答案...#define在项目设置中为每个构建配置设置一个预处理器,并将其烘焙到BOOST_TEST_MODULE定义中。

例如:

#define BOOST_TEST_MODULE MyAppName(SOME_PREPROCESSOR_VAR)
于 2013-05-17T09:19:39.127 回答