Как я могу издеваться над одноэлементным объектом (scala 2.7.11)?

Я хочу издеваться над объектом-одиночкой? Похоже, что это невозможно в scalamock-3

Я обнаружил, что easyMock и powerMock могут высмеивать одноэлементный объект (из https://github.com/fabura/scala-MockStaticObjects)

Тем не менее, я не могу получить эту работу? Есть идеи?

1 ответ

Если одноэлементный объект имеет статический метод.getInstance, его довольно легко смоделировать.

Вы должны сделать следующее в верхней части вашего тестового класса

@RunWith(PowerMockRunner.class) @PrepareForTest(Singleton.class)

затем издеваться над синглтоном

mockStatic(Singleton.class); Singleton mockSingleton = mock(Singleton.class); when(Singleton.getInstance()).thenReturn(mockSingleton);

Любые значения, которые вы хотите иметь возвращаемый синглтон, я думаю, вы должны установить до "когда" Пример: when(mockSingleton.toString()).thenReturn("I'm a mock");

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