这个定义意味着什么
#define TEST_CASE(...)
在Unity C测试工具中?
然后以这种方式使用它(例子):
TEST_CASE(0)
TEST_CASE(44)
TEST_CASE((90)+9)
void test_TheseShouldAllPass(int Num)
{
TEST_ASSERT_TRUE(Num < 100);
}
有关Unity的更多信息,请访问http://throwtheswitch.org/white-papers/unity-intro.html
答案 0 :(得分:0)
这是一个统一的预处理器调用,用于为以下测试示例生成测试用例。代码编译(或预编译)到:
test_TheseShouldAllPass(0);
test_TheseShouldAllPass(44);
test_TheseShouldAllPass(99);
更多信息:
如果标识符列表不以省略号结尾,则宏调用中的参数数量必须与相应宏定义中的参数数量相同。在参数替换期间,在所有指定参数被替换之后剩余的任何参数(包括任何分隔逗号)被组合成一个称为变量参数的参数。变量参数将替换替换列表中任何出现的标识符 VA_ARGS 。以下示例说明了这一点:
#define debug(...) fprintf(stderr, __VA_ARGS__)
debug("flag"); /* Becomes fprintf(stderr, "flag"); */