我正在建立一些新西兰测试并得到一个我无法解释的警告。我是新来的人。
我有一个模拟对象设置:
id conversationMock = [KWMock mockForProtocol:@protocol(Conversation)];
[conversationMock stub:@selector(end)];
在我的控制器中,有一个名为“对话”的属性:
@interface MyController ()
@property (nonatomic, assign) id<Conversation> conversation;
@end
将模拟分配给属性,然后在规范中检查对话是否调用方法“end”:
it(@"should end conversation", ^{
[[[myController.conversation] should] receive] end];
[myController stopTalking];
});
编译器(LLVM 3.0)显示警告:“实例方法'-attachToVerifier:验证程序:'未找到'
这是什么原因?这是我需要解决的问题吗? (测试运行正常,检查方法调用结束工作正常)
答案 0 :(得分:12)
将ID转发给NSObject会消除警告:
[[(NSObject *)[myController.conversation]应该]收到]结束];
答案 1 :(得分:9)
您需要做的是:
build settings -> Other Linker flags
添加标记:-all_load
答案 2 :(得分:1)
根据@ Komposr的回答,我看了几个与Kiwi有关的项目,发现我需要做以下事情:
构建设置 - &gt;其他链接标志
添加标志:-ObjC
注意我 不使用 CocoaPods。我已经下载并编译了Kiwi作为静态库,我包括...