Как я могу издеваться над одноэлементным объектом (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");