Проверки и выполнение действий
Проверяйте состояние и имитируйте ввод пользователя.
«Проверки и выполнение действий» — бесплатный урок Jetpack Compose Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Jetpack Compose Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Jetpack Compose Academy содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Find, Then Verify
Finding a node is only half the job. To prove your UI behaves, you add an assertion that states what should be true about that node. ✅
assertIsDisplayed
The most common assertion is assertIsDisplayed. It confirms the node is actually visible to the user, not just present in the tree.
composeTestRule.onNodeWithText("Welcome")
.assertIsDisplayed()assertExists vs assertIsDisplayed
Watch the difference: assertExists checks the node is in the tree, while assertIsDisplayed also checks it is on screen and not clipped away.
composeTestRule.onNodeWithText("Footer")
.assertExists()Chaining Assertions
You can chain several checks on one node. Each returns the node again, so the test reads like a clear sentence about your UI state.
rule.onNodeWithText("Save")
.assertIsDisplayed()
.assertIsEnabled()Performing a Click
To simulate a tap, call performClick on a found node. Compose dispatches the same click your real users would trigger.
composeTestRule.onNodeWithText("Add")
.performClick()Typing Text
For input fields, performTextInput types characters into the focused field, letting you test forms exactly as a user would fill them.
rule.onNodeWithText("Email")
.performTextInput("a@b.com")Act, Then Assert
The classic flow is act then assert: perform a click, then verify the new state appeared. This mirrors how a person uses your app.
rule.onNodeWithText("+").performClick()
rule.onNodeWithText("Count: 1")
.assertIsDisplayed()Asserting on State Flags
Beyond visibility, you can check toggles. assertIsOn and assertIsOff verify switches and checkboxes hold the value you expect.
rule.onNodeWithText("Notifications")
.assertIsOff()Quick Check
You want to confirm a button is genuinely on screen, not merely present in the tree. Which assertion do you use?
Assert on Count
When you grab a group with onAllNodes, verify how many matched using assertCountEquals. It is perfect for checking list sizes.
rule.onAllNodesWithText("Item")
.assertCountEquals(3)Clear Before You Type
Replacing text? Call performTextClearance first, then performTextInput, so old characters do not stick around and break your check.
rule.onNodeWithText("Name")
.performTextClearance()Readable, Trustworthy Tests
Good assertions describe behavior, not pixels. Aim for tests that read like requirements, so a failure instantly tells you what behavior broke.
Recap: Actions & Assertions
You drive the UI with actions like performClick and performTextInput, then prove the result with assertions like assertIsDisplayed. That is the heart of UI testing. 🎯
Часто задаваемые вопросы
Урок «Проверки и выполнение действий» бесплатный?
Да — полный текст урока «Проверки и выполнение действий» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Jetpack Compose Academy, подпишись на CoddyKit PRO. Курс Jetpack Compose Academy содержит 4 уроков всего.
Чему я научусь в уроке «Проверки и выполнение действий»?
Проверяйте состояние и имитируйте ввод пользователя. Ты практикуешь Jetpack Compose Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Jetpack Compose Academy?
Предыдущий опыт не требуется. Jetpack Compose Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Проверки и выполнение действий»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Jetpack Compose Academy?
Да. Каждый урок Jetpack Compose Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- createComposeRule и средства поиска
- Проверки и выполнение действий
- Семантика и тестовые метки
- Тестирование ViewModels и потоков