Я хочу создать инструментальный тест, чтобы проверить, отображается ли тост после нажатия кнопки внутри фрагмента (это связано с формой c, которая требует заполнения всех текстовых полей перед добавлением элемента).
Я использую метод launchFragmentInContainer
, который прекрасно работает, чтобы открыть фрагмент, а затем выполняется щелчок по кнопке, которая также прекрасно работает.
Теперь проблема в том, что, когда Достигнув блока scenario.onFragment
(где я хочу протестировать отображаемый тост), он будет загружаться вечно без отображения сообщения об ошибке.
Это мой код, который у меня есть:
class AddElementTest {
@Test
fun onAddElementWithEmptyFieldsClick() {
val scenario = launchFragmentInContainer<AddElementFragment>(
themeResId = R.style.AppTheme
)
Espresso.onView(ViewMatchers.withId(R.id.add_element_bt))
.perform(ViewActions.click())
scenario.onFragment { fragment ->
Espresso.onView(ViewMatchers.withText("Fields uncompleted!"))
.inRoot(RootMatchers.withDecorView(Matchers.not(fragment.view)))
.check(ViewAssertions.matches(ViewMatchers.isDisplayed()))
}
}
Что я делаю не так внутри блока onFragment?