是否有#define _KEYWORD_用于CXXTEST编译器以排除代码块?

时间:2012-11-29 18:47:34

标签: c++ unit-testing cxxtest

我需要暂时在我的对象中放置main()函数来测试备用功能(超出简单的单元测试),但我不得不注释掉我的main()函数来运行我的单元测试。

CxxTest是否有#define _KEYWORD_允许这种情况自动发生?

1 个答案:

答案 0 :(得分:2)

您只需根据CXXTEST_RUNNING关键字的定义,使用编译器指令封装违规代码。

例如:

class myClass {
  public:
    myClass () {}
};

#ifndef CXXTEST_RUNNING
int main (int argc, char *argv[]) {
  // Temporary runner. Typically deleted upon completion
  // of alternate functionality added later in the project.
}
#endif

在这种情况下,使用CxxTest框架时,将忽略main()函数,以支持测试框架创建的main()。否则,将使用您提供的main()功能。