ios - 类比较,isKindOfClass 在 Kiwi 规范中不起作用

标签 ios objective-c unit-testing kiwi

我的 Kiwi 单元测试是否因以下两行而失败:

[[theValue([editAuthorViewController class] == [EditAuthorViewController class]) should] beYes];

[[theValue([editAuthorViewController isKindOfClass:[EditAuthorViewController class]]) should] beYes];

当这条线通过时?

NSString *classString = NSStringFromClass([editAuthorViewController class]);
[[classString should] equal:@"EditAuthorViewController"];

最佳答案

原来有一个 Kiwi 表达式可以测试这个我不知道的。

[[editAuthorViewController should] beKindOfClass:[EditAuthorViewController class]];

这最初失败了,因为我的 EditAuthorViewController.m 文件被添加到我的测试目标。由于 [EditAuthorViewController class] 在从测试包内部调用时返回不同的指针,因此比较失败。

要解决此问题,我必须从测试目标的编译源中删除 EditAuthorViewController.m

关于ios - 类比较,isKindOfClass 在 Kiwi 规范中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20722878/

相关文章:

ios - Marmalade SDK 是否更适合或更常用于游戏开发?

ios - 将存档上传到 App Store 时出错 : The bundle is invalid

ios - 分配 cameraOverlyView 属性时未调用 UIImagePickerController didFinishPickingMediaWithInfo

unit-testing - 如何测试定制的 hamcrest 匹配器?

javascript - 我如何 Jest 模拟 Date.toLocaleDateString?

ios - 将 GMSMapView 上的位置转换为屏幕坐标系

iphone - UILocalNotification 在每个工作日重复,节假日除外

ios - 对Casting的不完全理解

iphone - PerformSelectorOnMainThread 结果为 "unrecognized selector sent to instance"

C# 和 Moq - 如何断言未引发事件