此blog article说:为什么用嘲笑DI比嘲笑objective-c中的对象更好?
虽然存在有时明智的方式来模拟出的对象,而不DI (通常通过嘲笑出类方法,如在上面的OCMock例子 看到),它往往平出不可能。即使有可能,测试设置的复杂性可能会超过其好处。如果 您一直在使用依赖注入,那么您会发现编写 使用存根和模拟测试会更容易。
但它不能解释为什么。什么是可能的情况,其中DI(注入id
对象符合协议)将用于对在Objective-C嘲笑更好,比简单OCMockito:
[given([mockArray objectAtIndex:0]) willReturn:@"first"];
[verifyCount(mockArray, times(1)) objectAtIndex:];
?
谢谢:)所以我认为它符合我的状态“只有当你需要一些超级定制行为才更好。” –