Jetpack Compose Academy · Lektion

Assertions og udførelse af handlinger

Kontrollér state, og simulér brugerinput.

Lektion 2 af 413 trin

Assertions og udførelse af handlinger er en gratis Jetpack Compose Academy-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Jetpack Compose Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Jetpack Compose Academy-kurset indeholder 4 lektioner i alt.

Find, og bekræft derefter

At finde en node er kun halvdelen af opgaven. For at bevise, at din brugerflade opfører sig korrekt, tilføjer du en påstand, der angiver, hvad der skal være sandt for noden. ✅

assertIsDisplayed

Den mest almindelige påstand er assertIsDisplayed. Den bekræfter, at noden faktisk er synlig for brugeren og ikke blot findes i træet.

composeTestRule.onNodeWithText("Welcome")
    .assertIsDisplayed()

assertExists kontra assertIsDisplayed

Bemærk forskellen: assertExists kontrollerer, at noden findes i træet, mens assertIsDisplayed også kontrollerer, at den er på skærmen og ikke er skjult ved beskæring.

composeTestRule.onNodeWithText("Footer")
    .assertExists()

Kædning af påstande

Du kan kæde flere kontroller på den samme node. Hver af dem returnerer noden igen, så testen læses som en tydelig sætning om din brugerfladetilstand.

rule.onNodeWithText("Save")
    .assertIsDisplayed()
    .assertIsEnabled()

Udfør et klik

Hvis du vil simulere et tryk, kalder du performClick på en fundet node. Compose sender det samme klik, som dine rigtige brugere ville udløse.

composeTestRule.onNodeWithText("Add")
    .performClick()

Skriv tekst

I inputfelter skriver performTextInput tegn i det fokuserede felt, så du kan teste formularer præcis, som en bruger ville udfylde dem.

rule.onNodeWithText("Email")
    .performTextInput("a@b.com")

Udfør en handling, og kontrollér derefter

Det klassiske forløb er: udfør en handling, og kontrollér derefter. Udfør et klik, og bekræft så, at den nye tilstand blev vist. Det afspejler, hvordan en person bruger din app.

rule.onNodeWithText("+").performClick()
rule.onNodeWithText("Count: 1")
    .assertIsDisplayed()

Kontrollér tilstandsflag

Ud over synlighed kan du kontrollere skift. assertIsOn og assertIsOff bekræfter, at kontakter og afkrydsningsfelter har den forventede værdi.

rule.onNodeWithText("Notifications")
    .assertIsOff()

Hurtig kontrol

Du vil bekræfte, at en knap faktisk er på skærmen og ikke blot findes i træet. Hvilken påstand bruger du?

Kontrollér antallet

Når du henter en gruppe med onAllNodes, skal du kontrollere, hvor mange der blev fundet, ved hjælp af assertCountEquals. Den er perfekt til at kontrollere størrelsen på lister.

rule.onAllNodesWithText("Item")
    .assertCountEquals(3)

Ryd, før du skriver

Skal teksten erstattes? Kald først performTextClearance, og kald derefter performTextInput, så de gamle tegn ikke bliver stående og får din kontrol til at mislykkes.

rule.onNodeWithText("Name")
    .performTextClearance()

Læsbare og pålidelige tests

Gode påstande beskriver adfærd, ikke pixels. Sigt efter tests, der læses som krav, så en fejl straks fortæller dig, hvilken adfærd der gik i stykker.

Opsummering: Handlinger og påstande

Du styrer brugerfladen med handlinger som performClick og performTextInput og beviser derefter resultatet med påstande som assertIsDisplayed. Det er kernen i test af brugerflader. 🎯

Gratis at komme i gang

Lær Kotlin med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
30
Lektioner
120

Ofte stillede spørgsmål

Er lektionen “Assertions og udførelse af handlinger” gratis?

Ja — hele teksten til “Assertions og udførelse af handlinger” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Jetpack Compose Academy-kurset, skal du opgradere til CoddyKit PRO. Jetpack Compose Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Assertions og udførelse af handlinger”?

Kontrollér state, og simulér brugerinput. Du øver dig i Jetpack Compose Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Jetpack Compose Academy?

Der kræves ingen tidligere erfaring. Jetpack Compose Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Assertions og udførelse af handlinger”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Jetpack Compose Academy-lektion?

Ja. Alle Jetpack Compose Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. createComposeRule og finders
  2. Assertions og udførelse af handlinger
  3. Semantics og testtags
  4. Test af ViewModels og flows
← Tilbage til Jetpack Compose Academy