Jetpack Compose Academy · Oppitunti

createComposeRule ja etsijät

Määrittäkää Compose-testi ja paikantakaa solmut.

Oppitunti 1/413 vaihetta

createComposeRule ja etsijät on ilmainen Jetpack Compose Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Jetpack Compose Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Jetpack Compose Academy-kurssilla on yhteensä 4 oppituntia.

Miksi käyttöliittymää kannattaa testata?

Manuaalinen testaus on hidasta ja unohtuu helposti. Käyttöliittymätesti käynnistää Composablen ja tarkistaa sen automaattisesti, joten se havaitsee rikkoutumiset ennen käyttäjiäsi. 🧪

Tutustu Compose-testisääntöön

Jokainen Compose-testi alkaa testisäännöstä. Se isännöi Composablet hallitussa ympäristössä, jossa voit muodostaa, tarkastella ja käyttää niitä testikoodista.

createComposeRule

Kun kyseessä on puhdas käyttöliittymä ilman Activitya, createComposeRule tarjoaa kevyen säännön. Liitä se JUnitin @get:Rule-kenttänä testiluokkaasi.

@get:Rule
val composeTestRule = createComposeRule()

setContent testissä

Muodosta tarkistettava Composable käyttämällä säännön setContent-funktiota. Tämä on testin käyttöliittymä aivan kuten oikeassa Activityssa.

composeTestRule.setContent {
    Greeting(name = "Ada")
}

Etsimet paikantavat solmut

Kun käyttöliittymä on näytöllä, tarvitset etsimen tietyn elementin hakemiseen. Etsimet hakevat semantiikkapuusta ja palauttavat solmun, jolle voit tehdä tarkistuksia.

onNodeWithText

Helppokäyttöisin etsijä on onNodeWithText. Anna sille näytöllä näkyvä teksti, niin se palauttaa kyseisen solmun tarkistettavaksi.

composeTestRule.onNodeWithText("Hello, Ada!")

onNodeWithContentDescription

Käytä näkyvää tekstiä sisältämättömille kuville ja kuvakkeille funktiota onNodeWithContentDescription. Se vastaa esteettömyysnimikettä, jolloin testit ja ruudunlukijat pysyvät synkronoituina.

composeTestRule.onNodeWithContentDescription("Profile photo")

Yksi solmu vai monta

onNode löytää yhden osuman ja epäonnistuu, jos osumia on useita. Kun odotat elementtiryhmää, käytä onAllNodes-funktiota kokoelman hakemiseen.

composeTestRule.onAllNodesWithText("Item")

Pikatarkistus

Haluat paikantaa kuvakepainikkeen, jolla ei ole näkyvää tekstiä. Mikä etsijä sopii parhaiten?

Etsimet ovat laiskoja

Etsin ei tee hakua heti. Se tallentaa aikomuksesi, ja varsinainen haku tehdään vasta, kun kutsut sille tarkistusta tai toimintoa.

Hyödylliset virheilmoitukset

Kun finder ei löydä mitään, testi epäonnistuu selkeän viestin kera ja tulostaa jopa nykyisen solmupuun. Näin puuttuvan elementin vianmääritys on nopeaa.

createAndroidComposeRule

Tarvitsetteko oikean Activityn, resursseja tai navigointia? Vaihtakaa käyttöön createAndroidComposeRule, joka käynnistää Activityn ja tarjoaa edelleen saman finder-rajapinnan.

@get:Rule
val rule = createAndroidComposeRule<MainActivity>()

Kertaus: säännöt ja finderit

Otitte käyttöön Compose-säännön, renderöitte käyttöliittymän setContent-funktiolla ja paikansitte elementit findereilla, kuten onNodeWithText. Tämä perusta tukee jokaista kirjoittamaanne Compose-testiä. 🎉

Aloita maksutta

Opi Kotlin tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”createComposeRule ja etsijät” ilmainen?

Kyllä – oppitunnin ”createComposeRule ja etsijät” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Jetpack Compose Academy-kurssin, päivitä CoddyKit PROhon. Jetpack Compose Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”createComposeRule ja etsijät”?

Määrittäkää Compose-testi ja paikantakaa solmut. Harjoittelet Jetpack Compose Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Jetpack Compose Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Jetpack Compose Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”createComposeRule ja etsijät”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Jetpack Compose Academy-oppitunnilla?

Kyllä. Jokainen Jetpack Compose Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. createComposeRule ja etsijät
  2. Tarkistukset ja toimintojen suorittaminen
  3. Semantiikka ja testitunnisteet
  4. ViewModelien ja Flow-virtojen testaaminen
← Takaisin: Jetpack Compose Academy