使用带有NSString的XCTAssertEqual作为错误消息参数

时间:2014-08-07 16:00:10

标签: objective-c xcode xcode5

这是我如何使用XCTAssertEqual

的示例
XCTAssertEqual(valueA, valueB, @"message");

但是,当我尝试以下

NSString *message = @"message";
XCTAssertEqual(valueA, valueB, message);

我收到编译错误,即

Expected ')'

似乎我只是简单地传递一个NSString。当我深入研究定义时,我发现

#define XCTAssertEqual(a1, a2, format...) _XCTPrimitiveAssertEqual(a1, a2, ## format)

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

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

1 个答案:

答案 0 :(得分:7)

试试这个:

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