Как протестировать тост в приборном тесте Android с Compose?Android

Форум для тех, кто программирует под Android
Anonymous
Как протестировать тост в приборном тесте Android с Compose?

Сообщение Anonymous »

Я хочу написать инструментальные тесты для тостов Android. Но кажется, что мои коды не работают. Он не может поймать тост, когда на самом деле отображается на телефоне. Я думаю, возможно, проблема с моим сопоставлением тоста. < /P>
Язык: Kotlin, API 36, Compose UI < /p>

Код: Выделить всё

class SimpleToastMatcher : TypeSafeMatcher() {
override fun matchesSafely(root: Root): Boolean {
val type = root.windowLayoutParams.get().type
if (type == WindowManager.LayoutParams.TYPE_TOAST) {
return true
}
// For overlays that might be toasts (e.g., on API 30+)
// they are typically not focusable.
if (type == WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY) {
return !root.decorView.isFocusable && !root.decorView.isFocusableInTouchMode
}
return false
}

override fun describeTo(description: Description?) {
description?.appendText("is toast")
}
}
< /code>
onView(withText(toastText))
.inRoot(SimpleToastMatcher())
.check(matches(isDisplayed()))
Ожидайте, что тест проверит, отображается ли тост, но тест не удается, потому что он не может обнаружить тосты, когда он фактически отображается на экране и истекает.


Подробнее здесь: https://stackoverflow.com/questions/797 ... th-compose

Вернуться в «Android»