这是一个关于 OCMock 期望的极其基本的问题。让我们在 objectA 上有一个实例方法 methodA,它调用 objectA 上的实例方法 methodB。
- (void)methodA {
[self methodB];
}
- (void)methodB {
...
}
现在,假设我想验证 objectA 的部分模拟是否调用了 methodA 和 methodB。看起来你应该做的就是:
- (void)test {
id mockObjectA = [OCMockObject partialMockForObject:self.objectA];
[[mockObjectA expect] methodA];
[[mockObjectA expect] methodB];
[self.objectA methodA];
[mockObjectA verify];
}
当我运行测试时,它认为 methodA 已成功调用,但 methodB 未成功调用。我误会了什么?
感谢您的帮助。
最佳答案
您需要告诉 mock 将方法调用转发给真实对象,以便实现真正运行。
[[[mockObjectA expect] andForwardToRealObject] methodA];
关于ios - OCMock 期望在另一个方法中调用一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16345012/