Метод единого экземпляра заглушки OCMockito

Я использовал OCMock для заглушения методов класса lvl, и он работал хорошо. Теперь мне нужно добиться того же поведения с OCMockito.

В OCMock у меня есть следующее:

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

В моем случае я должен заглушить метод sharedSingleton, потому что он используется в нескольких местах во время тестов.

1 ответ

Решение

Способность OCMock напрямую заглушать синглтоны осуществляется методом swizzling. Для OCMockito я намеренно избегаю такого подхода. Я рекомендую вам использовать какую-либо форму Dependency Injection для предоставления экземпляра.

Если вы не хотите этого, вы всегда можете смешать OCMock и OCMockito. Таким образом, вы можете продолжать иметь поведение OCMock, в то же время используя OCMockito для других целей.

Другие вопросы по тегам