0

我需要main()在我的对象中临时放置一个函数来测试替代功能(除了简单的单元测试),但我一直不得不注释掉我的main()函数来运行我的单元测试。

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

4

1 回答 1

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()将使用您提供的功能。

于 2012-11-29T18:47:34.060 回答