0

我想在模块中使用 gtest 构建我的单元测试。每个模块通常是多个可测试单元的集合。在开发模块时,我一次创建一个单元测试,一旦完成,我将它们连接到整个模块的一个单元测试中。

因此,对于一些说明,每个测试看起来像这样。

// file test1.cc
TEST1()
{
}
TESTn
{
)
#ifdef ISOLATED_TEST_COMPILE
int main()
{
   /* google test boiler plate */
}
#endif

连接测试的文件如下所示

#include "test1.cc"
#include "testn.cc"

int main()
{
   /* google test boiler plate */
}

所以我不能让生成的 make build 只有在命名时才能构建单独的测试,并且不能在“all”目标中包含单独的测试。整个模块统一单元测试构建应该在 all 目标中。

我不想make all重复编译单个测试。

4

1 回答 1

0

如果单元测试不在生产中,那么快速而肮脏的方法就是像上面那样使用#ifdef。

然后你只需像这样简单地包装 ifdefs 的定义。

#ifdef ALL
  ...
#else
  #define UNIT1
  ....
#end if
于 2011-06-02T17:18:15.467 回答