ios测试宏错误“预期标识符”

时间:2013-01-14 01:59:11

标签: iphone ios testing ipa

我正在尝试创建一个简单的测试宏,但我在以下几行中遇到错误。你们中的任何人都知道我为什么或如何修理它们?

#define test(condition) do{\
    if (condition)
    {\        //// <-----Expected identifier or (
        NSlog @"passed: " %@ #condtion); \

    }
    else
    {\
        NSLog(@"failed: " @ #condition); \

    }
}   //// <-----extraneous closing brace ( "}")

2 个答案:

答案 0 :(得分:2)

您需要在多行宏的每一行末尾添加反斜杠(除了最后一行)。

#define test(condition) do{\
    if (condition) \
    {\
        NSlog @"passed: " %@ #condtion); \
    } \
    else \
    { \
        NSLog(@"failed: " @ #condition); \
    } \
}

答案 1 :(得分:0)

你可以简化一下。这里:

#define test(condition) NSLog("%s: %s\n", condition ? "Passed" : "Failed", #condition);

请致电:

int i = 6;
test(i > 8);
test(i < 8);

输出:

Failed: i > 8
Passed: i < 8