Ответ 1
Espresso может тестировать Fragments
только в том случае, если они отображаются. И это требует, чтобы они отображались с помощью Activity
.
С вашей текущей настройкой вам нужно будет использовать Espresso до click()
по своему пути (например, пользователю) к Fragment
, который вы действительно хотите протестировать.
В одном из моих проектов у меня есть ViewPager
, который отображает Fragments
. Для тех Fragments
я использую пользовательский FragmentTestRule
, чтобы проверить их изолированно. Я могу начать каждый Fragment
напрямую и использовать Espresso для его проверки. См. этот ответ.
Вы также можете:
- Не используйте
Fragments
.Activities
легче тестировать. Вы можете протестировать каждыйActivity
самостоятельно. В большинстве случаевFragments
не имеет преимуществ передActivities
.Fragments
просто затрудняют реализацию и тестирование. - Включите
FragmentActivity
, чтобы сразу показать определенныйFragment
при его создании. Например. добавив к вашемуFragmentActivity
дополнительный урон. Но это добавит тестовый код в ваше приложение, что, как правило, не является хорошим решением.