OCMockito存根单例共享实例方法

OCMockito stub singleton shared instance method

我使用 OCMock 来存根 class lvl 方法并且效果很好。现在我需要使用 OCMockito 实现相同的行为。

在 OCMock 中我有以下内容:

_mock = mockClass([MySingleton class]);
OCMStub([_mock sharedSingleton]).andReturn(_mock);

在我的例子中,我必须存根 sharedSingleton 方法,因为它在测试期间在多个地方使用。

OCMock 直接存根单例的能力是通过方法调配完成的。对于 OCMockito,我有意避免这种方法。我建议您使用某种形式的 Dependency Injection 来提供实例。

如果您不想这样,您可以随时混合使用 OCMock 和 OCMockito。这样您就可以继续拥有 OCMock 行为,同时将 OCMockito 用于其他事情。