2014-12-09 14 views
8

Testuję swoją aplikację w Androidzie złożoną z 1 głównej aktywności i wielu fragmentów wewnątrz, w których nawigujemy.Określanie zmiany fragmentu podczas testowania espresso

Do moich testów używam espresso, a po kliknięciu konkretnego przycisku chcę sprawdzić, czy obecny fragment się nie zmienił (część z przyciskiem jest w porządku).

Jak więc zrobić espresso, aby sprawdzić, czy fragment nadal jest taki sam, jak przed kliknięciem przycisku?

Odpowiedz

12

Jeśli naprawdę chcesz to zrobić, można zrobić

FragmentManager fragmentManager = getActivity().getFragmentManager() 

i uzyskać informacje na temat backstack od fragmentManager. Jeśli twój fragment ma tag, możesz stwierdzić, że findFragmentByTag(tag) zwraca coś innego niż zero.

Ale zwykle lepiej jest robić twierdzenia o hierarchii widoku. Właśnie do tego zaprojektowano Espresso, a to bardziej w duchu testowania czarnej skrzynki.

Proponuję więc znaleźć jakąś wyróżniającą cechę nowego fragmentu, takiego jak tytuł strony, jeśli taki istnieje, i twierdząc, że ten widok jest obecny przy użyciu zwykłych metod Espresso, np.

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

Nawiasem mówiąc, jak to robimy? z funkcją isDisplayed()? –

+0

@ GaétanSéchaud right. Dodałem przykład. –

Powiązane problemy