Не виден вывод журнала из службы тестирования

У меня есть работающая служба (я знаю, что она работает, потому что я проверял вручную). Тем не менее, я пытаюсь построить тестовый пример JUnit/Espresso для него. Хотя Android Studio сказала мне, что тест "пройден", но я не вижу эффекта от вызова сервиса. Я попытался выложить какое-то отладочное сообщение "Запуск службы", но ** я не вижу ни одного сообщения журнала на консоли.

У кого-нибудь есть идеи? Спасибо!

private static StringBuilder log = new StringBuilder();

@Test
public void testWithoutLocation(){
    Intent intent = new Intent(InstrumentationRegistry.getContext(), SendMessage.class);

    intent.putExtra(BaseService.TAG_PERSON_ID, "ABCD");
    intent.putExtra(BaseService.TAG_MESSAGE_ID, "12345");

    try {
        log.append("Starting the service");
        oServiceTestRule.startService(intent);


    } catch (TimeoutException e) {
        e.printStackTrace();
        fail("TimeoutException caught");
    }

}

1 ответ

С вашим текущим snip Я видел только одну проблему, которую вы забыли показать log, Итак, убедитесь, что ваш тест запущен (пройден, как вы сказали) и ваш logcat активирован (и выберите verbose уровень). Итак, попробуйте изменить это:

try {
        log.append("Starting the service");
        oServiceTestRule.startService(intent);
        Log.d("YOUR_TAG", "testWithoutLocation: " + log.toString())

    } catch (TimeoutException e) {
        e.printStackTrace();
        fail("TimeoutException caught");
    }

Если он все еще не работает, попробуйте перезагрузить logcat или добавьте больше информации.

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