1
Ich bin konfrontiert mit this Problem, im Grunde die ServiceTestRule löst eine TimeoutException, wenn StartService in einem ungebundenen Dienste aufgerufen wird, und möchte wissen, ob jemand eine mögliche Problemumgehung kennt, bis ein Update veröffentlicht wird ?ServiceTestRule # startService Timeout für ungebundene Dienste
Die ungebundene Serviceklasse:
public class UnboundService extends Service {
@Override
public IBinder onBind(Intent intent) {
return null;
}
}
Die Testklasse:
@RunWith(AndroidJUnit4.class)
@MediumTest
public class UnboundServiceTest {
@Rule
public final ServiceTestRule serviceRule = new ServiceTestRule();
@Test
public void worksAsStartedService() throws TimeoutException {
Intent intent = new Intent(InstrumentationRegistry.getTargetContext(), UnboundService.class);
serviceRule.startService(intent);
}
}
Das Problem ist nicht im Zusammenhang mit der Zeitüberschreitung aber, dass die Umsetzung der 'startService' versucht," an den gestarteten Dienst zu binden, um zu gewährleisten, dass er gestartet und vor der Testausführung verbunden ist ". Überprüfen Sie, wie "ServiceTestRule" implementiert wurde. Sie rufen 'bindServiceAndWait' auf, aber da es sich um einen ungebundenen Dienst handelt, bindet es niemals. –