Android ServiceTestCase продолжает сбой?

Я новичок в Android Studio и пытаюсь протестировать службу GPS. Я действительно использовал пример, который я нашел в другой публикации @dtmilano. Я не получаю никаких ошибок, но тесты не пройдены. В другой публикации упоминалось добавление thread.sleep() после запуска службы в тесте, но она все равно не работает. Может кто-нибудь сказать мне, что мне не хватает?

Вот пример, который я использовал: ServiceTestCase.getService?

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.

ATSL ссылка

Кажется, они забыли обновить актуальную документацию.

Другие вопросы по тегам