类比较,isKindOfClass不适用于Kiwi规范

Mik*_*uss 3 unit-testing objective-c ios kiwi

我的新西兰单元测试是否有一些原因导致这两行失败:

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

[[theValue([editAuthorViewController isKindOfClass:[EditAuthorViewController class]]) should] beYes];
Run Code Online (Sandbox Code Playgroud)

虽然这条线路通过?

NSString *classString = NSStringFromClass([editAuthorViewController class]);
[[classString should] equal:@"EditAuthorViewController"];
Run Code Online (Sandbox Code Playgroud)

Mik*_*uss 6

原来有一个Kiwi表达来测试这个我不知道的.

[[editAuthorViewController should] beKindOfClass:[EditAuthorViewController class]];
Run Code Online (Sandbox Code Playgroud)

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

要解决这个问题,我必须EditAuthorViewController.m从我的测试目标中的Compile Sources中删除.