Когда вы звоните appUpdatesPresenter.stopService();
, ничего не произошло, потому что вы не сказали, что должно происходить.
Чтобы пройти тест, вам нужно ввести appUpdatesPresenter
.
@Test
public void test_Stop_Service() throws Exception {
doAnswer { serviceManager.stopService(); }.when(appUpdatesPresenter).stopService()
appUpdatesPresenter.stopService();
verify(serviceManager).stopService();
}
Кстати, тест выше не имеет смысла , так как вы заглушаете все вещи.
Чтобы тест был понятен, вы должны ввести ServiceManager
вместо того, чтобы связывать его с AppUpdatePresenter
.
public class AppUpdatesPresenter {
private final ServiceManager serviceManager;
public AppUpdatesPresenter(ServiceManager serviceManager) {
this.serviceManager = serviceManager;
}
public void stopService() {
sm.stopService();
}
}
Затем сделайте тестируемый AppUpdatesPresenter
.
@InjectMock AppUpdatesPresenter appUpdatesPresenter;
Теперь тестовый пример основан не на постоянном взаимодействии, а на реальной реализации вашего кода.
@Test
public void test_Stop_Service() throws Exception {
appUpdatesPresenter.stopService();
verify(serviceManager).stopService();
}