Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
463 of 502 menu
◀ ▶

Класс ComposeContentTestRule

Класс ComposeContentTestRule возвращается из createComposeRule и используется в instrumented-тестах. Метод setContent рисует composable-дерево. Методы поиска вроде onNodeWithText возвращают SemanticsNodeInteraction для проверок и жестов. Перед assert иногда вызывают waitForIdle.

Синтаксис

composeTestRule.setContent { Text("abcde") } composeTestRule.onNodeWithText("abcde")

Методы

Метод Описание
setContent Ставит composable-содержимое для текущего теста.
onNodeWithText Ищет узел по видимому тексту.
onNodeWithTag Ищет узел по testTag из Modifier.testTag.
onNodeWithContentDescription Ищет узел по contentDescription.
waitForIdle Ждёт, пока Compose закончит перерисовку и анимации.

Пример

Давайте найдём Text по строке и по tag:

import androidx.compose.material3.Text import androidx.compose.ui.Modifier import androidx.compose.ui.platform.testTag import androidx.compose.ui.test.assertIsDisplayed import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.test.onNodeWithTag import androidx.compose.ui.test.onNodeWithText import org.junit.Rule import org.junit.Test class RuleLookupTest { @get:Rule val composeTestRule = createComposeRule() @Test fun findByTextAndTag() { composeTestRule.setContent { Text( text = "abcde", modifier = Modifier.testTag("note"), ) } composeTestRule.onNodeWithText("abcde").assertIsDisplayed() composeTestRule.onNodeWithTag("note").assertIsDisplayed() } }

Тест проходит: оба поиска находят один и тот же видимый Text.

Смотрите также

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить