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

Метод assertDoesNotExist

Метод assertDoesNotExist у SemanticsNodeInteraction падает, если узел ещё найден. Используют после действия, которое должно убрать Text с экрана, или для проверки начального состояния.

Синтаксис

composeTestRule.onNodeWithText("abcde").assertDoesNotExist()

Пример

Давайте убедимся, что скрытый Text отсутствует:

import androidx.compose.material3.Text import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.ui.test.assertDoesNotExist import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.test.onNodeWithText import org.junit.Rule import org.junit.Test class AssertMissingTest { @get:Rule val composeTestRule = createComposeRule() @Test fun hiddenTextMissing() { composeTestRule.setContent { val show = remember { mutableStateOf(false) } if (show.value) { Text(text = "abcde") } } composeTestRule.onNodeWithText("abcde").assertDoesNotExist() } }

Тест проходит: узла с "abcde" нет в дереве semantics.

Пример

Давайте проверим отсутствие после клика:

import androidx.compose.material3.Button import androidx.compose.material3.Text import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.ui.test.assertDoesNotExist import androidx.compose.ui.test.junit4.createComposeRule import androidx.compose.ui.test.onNodeWithText import androidx.compose.ui.test.performClick import org.junit.Rule import org.junit.Test class RemoveAfterClickTest { @get:Rule val composeTestRule = createComposeRule() @Test fun lineRemoved() { composeTestRule.setContent { val show = remember { mutableStateOf(true) } Button(onClick = { show.value = false }) { Text(text = "12345") } if (show.value) { Text(text = "abcde") } } composeTestRule.onNodeWithText("12345").performClick() composeTestRule.onNodeWithText("abcde").assertDoesNotExist() } }

Тест проходит: после нажатия Text "abcde" исчез из дерева.

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

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