是否可以拥有类的实际对象并且只在该类中模拟一个方法而不是模拟整个对象?
我希望对象的行为与真实对象100%相同,除了1方法。
例如:
MyObject *object = [[MyObject alloc] init];
[[[object stub] andReturn:@"some_string"] getMyString];
答案 0 :(得分:4)
是的,这就是部分嘲笑的目的。
部分嘲笑
id aMock = [OCMockObject partialMockForObject:anObject]
创建一个可以与anObject相同的方式使用的模拟对象。当调用未存根的方法时,它将被转发到anObject。当使用对anObject的引用而不是mock来调用stubbed方法时,它仍将由mock处理。
请注意,目前无法为免费桥接类的实例创建部分模拟,例如的NSString。
答案 1 :(得分:0)