Тестирование сервисов Mockito Liferay
Я пытаюсь проверить классы LocalServiceUtil, созданные конструктором службы, с помощью PowerMock, но всегда получаю "null" или "0" из методов Util.
Класс тестирования
@RunWith(PowerMockRunner.class)
@PrepareForTest(EntityLocalServiceUtil.class)
public class EntityTest {
@Test
public void testGetAnswer() throws PortalException, SystemException {
PowerMockito.mockStatic(EntityLocalServiceUtil.class);
assertEquals("hello", EntityLocalServiceUtil.getHello());
}
}
Класс Util содержит
public static java.lang.String getHello() {
return getService().getHello();
}
и эта служба работает правильно на развернутом портлете. Что я делаю неправильно?
Ответы
Ответ 1
Вы забыли издеваться над методом:
@Test
public void testGetAnswer() throws PortalException, SystemException {
PowerMockito.mockStatic(EntityLocalServiceUtil.class);
when(EntityLocalServiceUtil.getHello()).thenReturn("hello"); // <- here
assertEquals("hello", EntityLocalServiceUtil.getHello());
}