2016-03-29 4 views
2

スタブクラスのlvlメソッドにOCMockを使用していて、うまくいきました。今私はOCMockitoで同じ動作を達成する必要があります。私は、次のしているOCMockでOCMockitoスタブシングルトン共有インスタンスメソッド

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

私の場合は、私はそれがテスト中に複数の場所で使用されているためsharedSingletonメソッドをスタブにしています。

+0

これは、多くのお役に立てました! –

答えて

1

OCMockがシングルトンを直接スタブする機能は、メソッドスウィズリングによって実行されます。 OCMockitoでは、私は意図的にこのアプローチを避けています。インスタンスを提供するには、Dependency Injectionという形式を使用することをお勧めします。

あなたが望んでいなければ、いつでもOCMockとOCMockitoを混在させることができます。そうすれば、OCMockitoを他のものに使うことができます。

+0

ありがとうございましたジョン、私は私の問題を解決するためにDIを使用することはできません私はメソッドswizzlingを使用する必要があります... –