createComposeRule & Pencari
Siapkan test Compose dan temukan node.
createComposeRule & Pencari adalah pelajaran Jetpack Compose Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Jetpack Compose Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Jetpack Compose Academy mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
Why Test Your UI?
Manual testing is slow and easy to forget. A UI test launches your Composable and checks it automatically, catching breakages before your users ever do. 🧪
Meet the Compose Test Rule
Every Compose test starts with a test rule. It hosts your Composables in a controlled environment so you can render, inspect, and interact with them from test code.
createComposeRule
For pure UI with no Activity, createComposeRule gives you a lightweight rule. You attach it as a JUnit @get:Rule field in your test class.
@get:Rule
val composeTestRule = createComposeRule()setContent in a Test
Use setContent on the rule to render the Composable you want to verify. This is your test's UI, just like in a real Activity.
composeTestRule.setContent {
Greeting(name = "Ada")
}Finders Locate Nodes
Once your UI is on screen, you need a finder to grab a specific element. Finders search the semantics tree and return a node you can assert on.
onNodeWithText
The friendliest finder is onNodeWithText. Give it the text shown on screen and it returns that exact node for you to check.
composeTestRule.onNodeWithText("Hello, Ada!")onNodeWithContentDescription
For images and icons with no visible text, use onNodeWithContentDescription. It matches the accessibility label, which keeps tests and screen readers in sync.
composeTestRule.onNodeWithContentDescription("Profile photo")One Node vs Many
onNode finds a single match and fails if there are several. When you expect a group of elements, reach for onAllNodes to get a collection instead.
composeTestRule.onAllNodesWithText("Item")Quick Check
You want to locate an icon button that has no visible text. Which finder fits best?
Finders Are Lazy
A finder does not search immediately. It captures your intent, and the actual lookup happens when you call an assertion or action on it.
Helpful Failure Messages
When a finder matches nothing, the test fails with a clear message and even prints the current node tree. That makes debugging a missing element fast.
createAndroidComposeRule
Need a real Activity, resources, or navigation? Swap in createAndroidComposeRule, which launches an Activity and still exposes the same finder API.
@get:Rule
val rule = createAndroidComposeRule<MainActivity>()Recap: Rules & Finders
You set up a compose rule, render with setContent, then locate elements with finders like onNodeWithText. That foundation powers every Compose test you write. 🎉
Pertanyaan yang Sering Diajukan
Apakah pelajaran “createComposeRule & Pencari” gratis?
Ya — teks lengkap “createComposeRule & Pencari” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Jetpack Compose Academy, upgrade ke CoddyKit PRO. Kursus Jetpack Compose Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “createComposeRule & Pencari”?
Siapkan test Compose dan temukan node. Kamu berlatih Jetpack Compose Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Jetpack Compose Academy?
Tidak diperlukan pengalaman sebelumnya. Jetpack Compose Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “createComposeRule & Pencari” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Jetpack Compose Academy ini?
Ya. Setiap pelajaran Jetpack Compose Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- createComposeRule & Pencari
- Assertion & Menjalankan Tindakan
- Semantik & Tag Test
- Menguji ViewModels & Flow