GoogleTest force #undef 特定测试
GoogleTest force #undef on particular test
我用的是GoogleTest,我想测试里面有#ifndef的一些函数。
文件a.c
bool myFunction() {
#ifndef FOO
return true;
#else
return false;
#endif
}
是否可以在特定测试期间强制#undef?这样我可以在 2 个统计信息中测试函数(有定义和没有定义)。
这就是人们试图避免使用 #define
、#if
等创建的函数的多个版本的原因之一。很难测试所有这些不同的版本。
如果要测试两个版本,必须编译程序两次(一次带 #define FOO
,一次不带),然后 运行 分别进行测试。如所写,更改 FOO
值的唯一方法是重新编译程序。
或者,您可以重构代码,这样就不需要 #define
了。
我用的是GoogleTest,我想测试里面有#ifndef的一些函数。
文件a.c
bool myFunction() {
#ifndef FOO
return true;
#else
return false;
#endif
}
是否可以在特定测试期间强制#undef?这样我可以在 2 个统计信息中测试函数(有定义和没有定义)。
这就是人们试图避免使用 #define
、#if
等创建的函数的多个版本的原因之一。很难测试所有这些不同的版本。
如果要测试两个版本,必须编译程序两次(一次带 #define FOO
,一次不带),然后 运行 分别进行测试。如所写,更改 FOO
值的唯一方法是重新编译程序。
或者,您可以重构代码,这样就不需要 #define
了。