JUNIT / Power Mockito - Мокинг интерфейса - PullRequest
0 голосов
/ 19 июня 2020

Я пишу модульный тест для класса LogUtil, в котором LogUtil использует объект интерфейса (IServiceMgr). При выполнении тестового примера я получаю объект интерфейса, на который ссылаются, как NULL.

Вот мой фактический класс реализации:

public interface IServiceMgr {

    public String fetchData();
}

public class DataServiceMngr implements IServiceMgr   {

    public String fetchData() {

        return "DATA_FETCHED- LOG OUT";
    }
}
public class LogoutUtil {

    @Inject
    private static IServiceMgr dataservice;

    public static String LogOut() {
        return dataservice.fetchData();
    }
}

Вот мой пример модульного теста, который я написал:

private IServiceMgr serviceMgr;

@Before
public void setUp() throws Exception {


    this.serviceMgr = PowerMockito.mock(IServiceMgr.class);

}

@Test
public void test() {
    String expected = "DATA_FETCHED- LOG OUT";
    String actual = LogoutUtil.LogOut();
    //Verify(this.serviceMgr);
    assertEquals(expected, actual);
}

Я получаю исключение нулевого указателя на return dataservice.fetchData (); Похоже, что при насмешке над IServiceMgr dataService не создается. Любая помощь, как решить эту проблему.

Спасибо

...