我已经通过类模拟查看了各种示例,如下所示:
https://groups.google.com/forum/#!topic/kiwi-bdd/hrR2Om3Hv3I
https://gist.github.com/sgleadow/4029858
Mocking expectations in Kiwi (iOS) for a delegate
班级Test
有一个班级方法fetch
。
我想要实现的是在我想要测试的类的工作期间查看类中的方法是否被调用。
我的所作所为:
it(@"test", ^{
id mock = [KWMock mockForClass:[Test class]];
[[mock should] receive:@selector(fetch)];
Repository *rep = [[Repository sharedInstance] rep]; //method `rep` invokes [Test fetch] at some point
});
测试失败并出现以下错误:
[FAILED], expected subject to receive -fetch exactly 1 time, but received it 0 times
我做错了什么?间谍机制应如何对类方法起作用?
答案 0 :(得分:1)
[[Test should] receive:@selector(fetch)];
这就是你应该如何检查它,因为它的方法类不是你不需要模拟类对象的实例类。您编写时的自动完成功能可能无法显示,因此您必须强制执行此操作。