Тестирование сервисов 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());
    }