Как прослушивать метод ActivityTestRule Android доActivityLaunched в тесте android

Как я могу прослушивать метод beforeActivityLaunched () ActivityTestRule в тесте android.

Мое обходное решение создает настраиваемый ActivityTestRule и обеспечивает обратный вызов конструктора. Это плохая практика? Точно так же нормально прослушивать метод конструктора ActivityTestRule.

Вот мой код:

public class CustomActivityTestRule<A extends Activity> extends ActivityTestRule<A> { public interface onBeforeListener{ void onBefore(String message); } private onBeforeListener listener; public CustomActivityTestRule(Class<A> activityClass, onBeforeListener listener) { super(activityClass); } @Override protected void beforeActivityLaunched() { super.beforeActivityLaunched(); listener.onBefore("before activity launch"); } } 

В классе тестирования Android я могу сделать что-то вроде:

 @Rule public CustomActivityTestRule<MainActivity> mainActivityActivityTestRule = new CustomActivityTestRule<MainActivity>(MainActivity.class, new CustomActivityTestRule.onBeforeListener() { @Override public void onBefore(String message) { //do something before activity starts } }); 

Точно так же он может что-то сделать в создании экземпляра junit. Есть ли другой способ прослушать создание тестового правила junit?

Вы можете переопределить beforeActivityLaunched без создания нового класса.

В моих тестах я использую следующее:

 @Rule public ActivityTestRule<MainActivity> mainActivityActivityTestRule = new ActivityTestRule<MainActivity>(MainActivity.class) { @Override protected void beforeActivityLaunched() { super.beforeActivityLaunched(); } }; 

Вы можете настроить тестовое правило, чтобы оно не запускало вашу деятельность автоматически.

 @Rule public ActivityTestRule<MainActivity> activityTestRule = new ActivityTestRule<MainActivity>(MainActivity.class, false, false); 

В вашем методе настройки вы можете подготовить все, что вам нужно, а затем запустить эту операцию.

 activityTestRule.launchActivity(null); 

Смотрите также

  • Конструктор JavaDoc ActivityTestRule
  • Метод запуска JavaDoc
Intereting Posts
Что означает AdapterView <?> В методе OnitemClick ()? Каким образом используются другие параметры? Кнопки ActionBar, поддерживающие «нажатое» состояние, возможно? Как связать layout_width и layout_height с использованием привязки данных в Android Обновление списка при изменении данных адаптера Android 4.4 Случайная авария KitKat Firebase facebook кнопка андроидная аутентификация при выходе из системы Небезопасная реализация интерфейса X509TrustManager – Службы Google Play Как сохранить сервис с слушателями в живых после развязки в Android? Как добавить шрифты для разных шрифтов для реактивного проекта Android? Разблокировать экран программно Установка сертификата Android Использование цели Crop Получение java.lang.SecurityException: невозможно найти приложение для вызывающего android.app.ApplicationThreadProxy@4266ae80 Ошибка Android MediaPlayer (-38,0) После синхронизации Repo в каталоге нет файлов Как отформатировать предложение WHERE и?? В SQLite-запросе?