Intereting Posts
Создать простую алфавитную прокрутку в ListView? Как правильно восстановить состояние представления после поворота Производительность ORM: greenDAO быстрее ORMLite? ArrayIndexOutOfBoundsException в карусели – исключение в обратном вызове MessageQueue и handleReceiveCallback Как разбираться с GSON, когда идентификатор имеет место в имени Просмотр видео по кадрам Темы WebView никогда не останавливаются (WebViewCoreThread, CookieSyncManager, http ) Разрешение Firebase отклонено (чтение и запись) с помощью проверки подлинности Как заблокировать вызов мобильного номера и получение сообщений в разработке приложений Android? Расположение Android SDK не должно содержать пробелов, так как это вызывает проблемы с инструментами NDK Как заставить широковещательный приемник приложения продолжать прослушивание без использования службы в фоновом режиме Как заставить остановить Intent Service в процессе? Android Studio продолжает сбой Как показать предварительный просмотр камеры в SurfaceView? Шифровать данные в SharedPreferences

Определить изменение фрагмента при эспрессо-тестировании

Я тестирую свое приложение в андроиде, состоящее из 1 основной активности и нескольких фрагментов внутри, в которые мы перемещаемся.

Для моих тестов я использую espresso, и после щелчка по определенной кнопке, я хочу проверить, изменился ли текущий фрагмент или нет (часть с кнопкой в ​​порядке).

Итак, как я могу сделать в espresso, чтобы проверить, остается ли этот фрагмент тем же, чем до нажатия кнопки?

Solutions Collecting From Web of "Определить изменение фрагмента при эспрессо-тестировании"

Если вы действительно хотите это сделать, вы можете сделать

FragmentManager fragmentManager = getActivity().getFragmentManager() 

И получить информацию о backstack от fragmentManager . Если у вашего фрагмента есть тег, вы можете утверждать, что findFragmentByTag(tag) возвращает что-то ненулевое.

Но обычно лучше делать утверждения о иерархии представлений. Это то, для чего предназначался эспрессо, и это больше в духе тестирования черного ящика.

Поэтому я бы предложил найти некоторую отличительную особенность нового фрагмента, например, заголовок страницы, если он есть, и утверждать, что это представление присутствует с использованием обычных методов Espresso, например

 onView(withText("Page Two Title")).check(matches(isDisplayed());