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

标签 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 文字时?

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

最佳答案

试试这个:

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

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

相关文章:

ios - UISearchBar 上方的 UITableView 背景颜色

ios - 无法加载4S拍摄的图像,但可以加载5S

ios - Xcode 9.2 上传到 App Store 失败,出现描述长度和无效工具链错误

xcode5 - Xcode 5 管理器未显示现有存储库

ios - 如何订购 kif 测试用例序列?

xcode - 多个光标/突出显示当前突出显示单词的下一个实例

ios - UITableViewCell 有很多 subview 或单个 View

objective-c - UITextField/UITextView : I need to be able to detect user "return" key, 并且我需要能够执行多行...什么可以同时执行?

android - Xcode 编译 C++ 代码,但 Eclipse 不编译

iphone - MPMoviePlayerController 几秒钟后停止播放