createComposeRule ja etsijät
Määrittäkää Compose-testi ja paikantakaa solmut.
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ä. 🎉
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
- createComposeRule ja etsijät
- Tarkistukset ja toimintojen suorittaminen
- Semantiikka ja testitunnisteet
- ViewModelien ja Flow-virtojen testaaminen