OCMockito获取模拟调用的计数

时间:2016-09-02 17:05:39

标签: ios unit-testing ocmockito

如何获得模拟对象上的调用次数?

在测试的某个特定点,我想获取某个方法的当前调用次数,然后继续测试并最终验证该方法再次被调用。

这就像是:

WorldSomething

1 个答案:

答案 0 :(得分:1)

你可以用块模拟任何东西。因此,让我们使用一个块来增加我们自己的计数器。

__block NSUInteger interestingMethodCount = 0;
[given([mockA interestingMethod]) willDo:^id(NSInvocation *invocation) {
    interestingMethodCount += 1;
    return @5;
}];

<do some work that may call 'interestingMethod' one or two times>
NSUInteger countAtCheckpoint = interestingMethodCount;

<do some more work that [hopefully] calls 'interestingMethod' one more time>
assertThat(@(interestingMethodCount), is(equalTo(@(countAtCheckpoint + 1))));