Intereting Posts
Программирование Cygwin для Android-NDK Обновить контрольную панель от AsyncTaskLoader? Включая Tess4J в проект Java как библиотеку в Eclipse Imageview Roundcorner не работает для всех четырех углов Удобное использование Android XmlResourceParser? Phonegap Android-разрешения, config.xml и плагины Счетчик шагов не сбрасывает количество шагов Android SDK против Adobe AIR: за и против? Определение андроида – дрожания Android: Как протестировать пользовательский вид? Использует библиотеку событий, такую ​​как Otto или EventBus, рекомендуемый способ обработки отношений между действиями, фрагментами и фоновыми потоками Выполнение андроидной студии не выполнено для исключения процесса задачи для idk-1.8 Как использовать `adb` для установки приложений для разработки только для одного пользователя? Сбой приложений только в версии выпуска Может ли Volley (Google IO 2013) иметь level1 LruBitmapImageCache и level2 DiskCache?

Почему Log.d () ничего не печатает при запуске теста локального блока Android?

Я пытаюсь напечатать что-то при запуске Android Local Unit Test , но ничего не происходит. Что случилось? Как я могу это исправить?

Я посоветовался с некоторыми документами на http://developer.android.com , обнаружил, что Android Local Unit Test просто запускается на JVM моей машины, файл android.jar, который используется для запуска модульных тестов, не содержит никакого реального кода, поэтому Log. D () ничего не печатать. Если я хочу распечатать журнал, как я могу это сделать?

Вот мой код, FeedbackModelTest.java, расположенный в каталоге src / test / main .

package com.upward.reader.mvp.model; import android.util.Log; import com.upward.reader.mvp.bean.FeedbackBean; import com.upward.reader.net.RequestJSONCallback; import org.junit.Test; import java.io.IOException; import java.util.HashMap; import java.util.Map; public class FeedbackModelTest { @Test public void postFeedback() throws Exception { final String url = "http://test.guguread.com/interface/app/user/feedback?"; Map<String, String> params = new HashMap<>(); params.put("content", "content"); new FeedbackModel().postFeedback(url, params, new RequestJSONCallback<FeedbackBean>() { @Override public void onResponse(FeedbackBean result) throws IOException { Log.d("TAG", result.toString()); } @Override public void onFailure(Exception e) { e.printStackTrace(); } }); } 

}

Вы должны использовать стандартный вывод, System.out.println("Hello StackOverflow") следует использовать в Log.x() . Затем вы можете увидеть информацию о журнале на вкладке run. Введите описание изображения здесь

От поддержки тестирования модулей :

Файл android.jar, который используется для запуска модульных тестов, не содержит никакого реального кода, который предоставляется изображением системы Android на реальных устройствах. Вместо этого все методы генерируют исключения (по умолчанию). Это делается для того, чтобы убедиться, что ваш модуль тестирует только ваш код и не зависит от какого-либо конкретного поведения платформы Android (которое вы явно не издевались, например, с помощью Mockito). Если это окажется проблематичным, вы можете добавить фрагмент ниже к вашему build.gradle, чтобы изменить это поведение:

  android { // ... testOptions { unitTests.returnDefaultValues = true } } 

Если вам нужно задействовать в своих тестах какой-то код, связанный с Android, который вы используете (Log.d), вы можете использовать платформу тестирования, такую ​​как Robolectric, которая призвана действовать как код Android.jar, который ссылается на ваш код. Путем настройки вашего тестового бегуна для запуска в Robolectric и установки правильного флага конфигурации в аннотации конфигурации robolectric вы можете включить ведение журнала с использованием методов ведения журнала.