我需要在对象中临时放置一个main()函数来测试替代功能(除了简单的单元测试之外),但是我必须注释掉main()函数才能运行单元测试。
CxxTest有没有一个#define _KEYWORD_可以让这一切自动发生?
发布于 2012-11-30 02:47:34
您只需要根据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()函数。
https://stackoverflow.com/questions/13632601
复制相似问题