在 OCMPartialMock 上存根类方法?

Posted

技术标签:

【中文标题】在 OCMPartialMock 上存根类方法?【英文标题】:Stub a class method on an OCMPartialMock? 【发布时间】:2015-10-19 08:21:35 【问题描述】:

我正在使用 OCMock,并尝试使用两个类方法测试一个类。我想存根其中一个以便为另一个编写测试,所以我通常使用OCMPartialMock。但是,如果这样做,我将无法调用类方法,因为OCMPartialMock 使用的是类的实例,而不是类本身。如果我使用OCMClassMock,它将失去我要测试的方法的实现。

总结:我有两个类方法,我想存根其中一个,但保留调用另一个的能力,使用 OCMock。我怎样才能做到这一点?

【问题讨论】:

【参考方案1】:

找到了答案:需要使用OCMClassMock,并且由于它混用了类,所以在类本身上调用另一个类方法,而不是在我模拟的id 版本上。

【讨论】:

以上是关于在 OCMPartialMock 上存根类方法?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 ocmock 在基于类的方法上存根返回值

扩展特征的单元测试类 - 我如何在特征中模拟和存根方法?

所有调用的 OCMock 存根类方法

C#:在所有派生类中具有*必需*实现的静态基类方法存根[重复]

随笔⑧ java中的存根类 --- Stub

不能在 Xcode 5.0 中使用 OCMock 2.1+ 存根类方法