CXXTEST 编译器是否有 #define _KEYWORD_ 来排除代码块

Is there a #define _KEYWORD_ for CXXTEST compiler to exclude blocks of code?

本文关键字:排除 代码 KEYWORD CXXTEST 是否 #define 编译器      更新时间:2023-10-16

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

CxxTest 是否有允许自动发生此问题的#define _KEYWORD_

您只需要使用基于 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()函数。