Android ServiceTestCase продолжает сбой?
Я новичок в Android Studio и пытаюсь протестировать службу GPS. Я действительно использовал пример, который я нашел в другой публикации @dtmilano. Я не получаю никаких ошибок, но тесты не пройдены. В другой публикации упоминалось добавление thread.sleep() после запуска службы в тесте, но она все равно не работает. Может кто-нибудь сказать мне, что мне не хватает?
Вот пример, который я использовал: ServiceTestCase
import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
import android.test.MoreAsserts;
import android.test.ServiceTestCase;
public class GPSServiceTest extends ServiceTestCase<GPSService> {
public GPSServiceTest() {
super(GPSService.class);
}
@Override
protected void setUp() throws Exception {
super.setUp();
}
public void testOnStartCommand() throws Exception {
Intent startIntent = new Intent();
startIntent.setClass(getContext(), GPSService.class);
startService(startIntent);
Thread.sleep(10 * 1000);
assertNotNull(getService());
}
public void testBindable() {
Intent startIntent = new Intent();
startIntent.setClass(getContext(), GPSService.class);
IBinder service = bindService(startIntent);
assertNotNull(service);
}
}
1 ответ
Тестовые случаи, такие как ActivityInstrumentationTestCase2 или ServiceTestCase, не рекомендуются в пользу ActivityTestRule или ServiceTestRule.
Кажется, они забыли обновить актуальную документацию.