Ответ
Для тестирования @Composable функций используйте ComposeTestRule из библиотеки androidx.compose.ui:ui-test-junit4. Основные подходы:
- Проверка отображения элементов:
@Test
fun testGreeting() {
composeTestRule.setContent {
Greeting(name = "Android")
}
composeTestRule.onNodeWithText("Hello Android!").assertExists()
}
- Проверка взаимодействия:
@Test
fun testButtonClick() {
var clicked = false
composeTestRule.setContent {
Button(onClick = { clicked = true }) {
Text("Click me")
}
}
composeTestRule.onNodeWithText("Click me").performClick()
assertTrue(clicked)
}
Ключевые моменты:
- Используйте
setContentдля отрисовки компонента - Для поиска элементов применяйте
onNodeWithText,onNodeWithTagи другие селекторы - Для проверок используйте
assertExists(),assertIsDisplayed()и т.д. - Для взаимодействия -
performClick(),performTextInput()