0Pricing
Jetpack Compose Academy · Pelajaran

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

  1. createComposeRule & Pencari
  2. Assertion & Menjalankan Tindakan
  3. Semantik & Tag Test
  4. Menguji ViewModels & Flow
← Kembali ke Jetpack Compose Academy