这是我如何使用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/