Код ниже (CallService.java) вызывает службу AService и выполняет некоторое обновление, а затем возвращает логическое значение.
public boolean getUpdateStatus() throws ServiceException {
if (finder == null) {
finderBean = new FinderBean();
}
myService = finderBean.find(AService.class);
if (myService == null) {
System.out.println("null >>>>>>>");
}
final Config config = new Config();
final Update update = new Update();
status = myService.update(update, config);
System.out.println("Status: " + status);
return status;
}
И ниже тестовый пример проверяет CallService.java; Я высмеял все связанные с сервисом классы и вызвал мой тестируемый класс, чтобы вызвать AService и утвердить логическое значение, но mock всегда возвращает false независимо от насмешки.
@Before
public void setUp() throws Exception {
myService = PowerMockito.mock(AService.class);
finderBean = PowerMockito.mock(FinderBean.class);
update = PowerMockito.mock(Update.class);
config = PowerMockito.mock(Config.class);
PowerMockito.whenNew(FinderBean.class).withNoArguments().thenReturn(finderBean);
PowerMockito.when(finderBean.find(AService.class)).thenReturn(myService);
}
@Test
public void TestUpdateState() throws Exception {
callService = new CallService();
MemberModifier.field(CallService.class, "finderBean").set(callService, finderBean);
PowerMockito.when(finderBean.find(AService.class)).thenReturn(myService);
PowerMockito.when(myService.update(update, config)).thenReturn(true);
final boolean status = callService.getUpdateStatus();
assertTrue(status);
}
Я что-то здесь упускаю, указатели?
Спасибо.