Как протестировать тост в приборном тесте 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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