Я использую powermckito и пытаюсь имитировать локальный объект и читать из него API. Мой класс реализации выглядит следующим образом:
public class LogoutUtil {
public static void updateState() {
SrvcContext sc = new SrvcContext();
sc.setUserName("UserNAME");
}
}
Я пытаюсь имитировать объект SrvcContext и прочитать имя пользователя, вызвав метод получения. Вот мой тестовый код:
@Test
public void updateStateTest() {
SrvcContext svc = PowerMockito.mock(SrvcContext.class);
LogoutUtil.updateState();
try {
PowerMockito.whenNew(SrvcContext.class).withNoArguments().thenReturn(svc);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String userName = svc.getUserName(); //This gives null
Assert.assertEquals("UserNAME", userName);
}
Любая помощь, как это сделать. Я не могу изменить класс LogoutUtil.
Спасибо