Подтвердить что ты не робот

Где выходит LogCat Log.x() при запуске тестов Android JUnit?

Я заметил, что при тестировании простых классов Java через тестовые классы, полученные из TestCase и AndroidTestCase, выход LogCat исчезает.

Можно ли сохранить вывод этих сообщений? или мой единственный регресс - использовать гораздо более вялый ActivityInstrumentationTestCase2<> как базовый класс?

4b9b3361

Ответ 1

У меня была аналогичная проблема... Дело в том, что представление logcat, доступное в Eclipse, ничего не показывает при запуске проекта в режиме Android Junit. По крайней мере, в Android 2.1, который я использовал, это поведение.

Вы можете обойти эту проблему, проверив logcat из командной строки (окно терминала):

# check the device name you are using
# It gives something like this:
$ ./adb devices
List of devices attached 
emulator-5554   device

# open logcat of the device
$ ./adb -s emulator-5554 logcat
D/AndroidRuntime(  943): 
D/AndroidRuntime(  943): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
D/AndroidRuntime(  943): CheckJNI is ON
.
.
.

Ответ 2

Оба этих оператора производят log logcat:

    android.util.Log.d(TAG, "This is Log.d");
    System.out.println("This is System.out.println");

Ответ 3

Просто для тех, кто использует Android Studio. Вы можете открыть окно инструмента Android DDMS (Cmd + 6) и отключить любые фильтры, используя раскрывающийся список в правом верхнем углу. По-видимому, используется app:com.your.package.name по умолчанию, который фильтрует тестовый результат.

Ответ 4

Просто использование операторов Log.v("MyIdentifier","MyMessage"), кажется, регистрирует все для меня, как из самих классов Unit test, так и из моего тестируемого приложения Android.

Эта информация может помочь кому-то, кто использует Android jUnit в первый раз:

Android jUnit testing только начнет действие, когда getActivity() вызывается из тестового класса. Если функция Activity не вызывается, вы не увидите результатов каких-либо вызовов, которые вы записали, например, onCreate или onResume. Кажется, что существует исключение из этого правила, хотя, когда активность, отмеченная как "Главная" и "Запуск" в манифесте Android, находится под контролем.