Метод assertTextEquals
Метод assertTextEquals у
SemanticsNodeInteraction
сверяет видимый или editable текст
с одной или несколькими строками.
Удобнее, чем только
assertIsDisplayed,
когда важно содержимое.
Синтаксис
composeTestRule.onNodeWithText("abcde").assertTextEquals("abcde")
Параметры
| Параметр | Описание |
|---|---|
vararg text |
Ожидаемые строки текста узла по порядку. |
Пример
Давайте сверим Text с abcde:
import androidx.compose.material3.Text
import androidx.compose.ui.test.assertTextEquals
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithText
import org.junit.Rule
import org.junit.Test
class AssertTextTest {
@get:Rule
val composeTestRule = createComposeRule()
@Test
fun textMatches() {
composeTestRule.setContent {
Text(text = "abcde")
}
composeTestRule.onNodeWithText("abcde").assertTextEquals("abcde")
}
}
Тест проходит: текст узла равен "abcde".
Пример
Давайте проверим строку 12345 на кнопке:
import androidx.compose.material3.Button
import androidx.compose.material3.Text
import androidx.compose.ui.test.assertTextEquals
import androidx.compose.ui.test.junit4.createComposeRule
import androidx.compose.ui.test.onNodeWithText
import org.junit.Rule
import org.junit.Test
class ButtonTextTest {
@get:Rule
val composeTestRule = createComposeRule()
@Test
fun buttonLabel() {
composeTestRule.setContent {
Button(onClick = {}) {
Text(text = "12345")
}
}
composeTestRule.onNodeWithText("12345").assertTextEquals("12345")
}
}
Тест проходит: подпись кнопки совпадает с "12345".
Смотрите также
-
метод
assertIsDisplayed,
проверка видимости без текста -
метод
onNodeWithText,
поиск перед assertTextEquals -
метод
performTextInput,
смена текста перед assert -
класс
SemanticsNodeInteraction,
где объявлен assertTextEquals