OCMock - 验证方法调用的顺序。还有别的办法吗? [英] OCMock - verifying order of method calls. Is there any other way?

查看:136
本文介绍了OCMock - 验证方法调用的顺序。还有别的办法吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当我想在一个方法中验证模拟对象是否按特定顺序接收某些消息时,我会执行以下操作:

When I want to verify that in one method a mock object is receiving some messages in a particular order I do something like this:

// sut is an instance of the class I am testing and myMock is a mock object injected in sut.
// I want to test that myMock sends messageA and then messageB, in that particular order.
[[[myMock expect] andDo:^(NSInvocation *invocation)
  {
      [[myMock expect] messageB];
  }]
 messageA];

 [sut methodToTest];

 [myMock verify];

有没有更干净/更好的方法呢?
提前致谢。

Is there any cleaner/better way of doing this? Thanks in advance.

推荐答案

您可以使用 setExpectationOrderMatters

[myMock setExpectationOrderMatters:YES];
[[myMock expect] messageA];
[[myMock expect] messageB];

[sut methodToTest];

[myMock verify];

这篇关于OCMock - 验证方法调用的顺序。还有别的办法吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆