这是我如何使用XCTAssertEqual的示例

XCTAssertEqual(valueA, valueB, @"message");

但是,当我尝试以下
NSString *message = @"message";
XCTAssertEqual(valueA, valueB, message);

我收到一个编译器错误,即
Expected ')'

似乎我只是以任何一种方式传递了NSString。当我深入研究定义时,我发现
#define XCTAssertEqual(a1, a2, format...) _XCTPrimitiveAssertEqual(a1, a2, ## format)

我无法做出正面或反面的结论。当它接受像NSString*这样的NSString文字时,为什么不能将format...作为@"message"参数传递给XCTAssertEquals呢?

注意:所有断言似乎都是这种情况。

最佳答案

试试这个:

XCTAssertEqual(valueA, valueB, @"%@", message);

关于objective-c - 使用XCTAssertEqual和NSString作为错误消息参数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25187096/

10-11 22:50