Python Academy · leksjon

Enhetstesting med unittest

Oppdag hvordan du skriver tester for å kontrollere at koden din fungerer.

Leksjon 1 av 311 trinn

Enhetstesting med unittest er en gratis leksjon i Python Academy på CoddyKit. Dette er leksjon 1 av 3. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Python Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Python Academy inneholder totalt 3 leksjoner.

Enhetstesting med unittest

Enhetstesting er en metode for å teste individuelle kodeenheter for å sikre at de fungerer som forventet. Pythons unittest-modul er et innebygd bibliotek for å opprette og kjøre enhetstester.

I denne leksjonen lærer du hvordan du oppretter og kjører enhetstester ved hjelp av unittest-rammeverket.

Enhetstesting med unittest — illustrasjon 1

Hva er enhetstesting?

Enhetstesting innebærer å teste individuelle funksjoner eller metoder isolert for å sikre at de oppfører seg riktig. Det bidrar til å avdekke feil tidlig i utviklingsprosessen og sikrer at koden er pålitelig.

Sette opp unittest

unittest-modulen er inkludert i Pythons standardbibliotek, så du trenger ikke å installere noe. For å bruke den importerer du modulen og oppretter testtilfeller ved å arve fra unittest.TestCase.

# Setting up unittest
import unittest

class TestExample(unittest.TestCase):
    def test_addition(self):
        self.assertEqual(1 + 1, 2)  # Passes

if __name__ == '__main__':
    unittest.main()

Skrive testtilfeller

For å skrive et testtilfelle definerer du en metode i testklassen. Hver metode bør begynne med test_ slik at unittest-rammeverket kan gjenkjenne den som et testtilfelle.

# Writing test cases
class TestMathOperations(unittest.TestCase):
    def test_multiplication(self):
        self.assertEqual(2 * 3, 6)  # Passes

Kjøre tester

Kjør tester ved å kjøre skriptet som inneholder testtilfellene dine. unittest-rammeverket finner og kjører automatisk alle testmetodene.

# Running tests
# Save this file and run it using:
# python test_script.py

Vanlige assertions

unittest-modulen tilbyr flere assertions-metoder:

  • assertEqual(a, b): Sjekker om a er lik b.
  • assertTrue(x): Sjekker om x er sann.
  • assertIn(a, b): Sjekker om a finnes i b.
  • assertRaises(exception): Sjekker om et unntak utløses.

Teste grensetilfeller

Det er viktig å teste grensetilfeller, for eksempel tomme inndata, store tall eller ugyldige data, for å sikre at koden er robust.

# Testing edge cases
class TestEdgeCases(unittest.TestCase):
    def test_empty_input(self):
        self.assertEqual(len([]), 0)  # Passes

Organisere testfiler

I større prosjekter bør du organisere testtilfellene i en separat mappe, vanligvis kalt tests/, og gi testfilene prefikset test_.

Vanlige feil med unittest

Her er noen feil du bør unngå:

  • Å ikke navngi testmetoder med prefikset test_.
  • Å glemme å håndtere grensetilfeller i testtilfellene.
  • Å ikke kjøre tester regelmessig under utviklingen.

Hva har vi lært?

I denne leksjonen har du lært:

  • Hva enhetstesting er, og hvorfor det er viktig.
  • Hvordan du bruker unittest-modulen til å skrive og kjøre testtilfeller.
  • Hvilke vanlige assertions som er tilgjengelige i unittest-rammeverket.
  • Beste praksis for organisering av testfiler og håndtering av grensetilfeller.

Godt jobbet! La oss gå videre til neste emne.

Enhetstesting med unittest — illustrasjon 11
Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
76
Leksjoner
320

Ofte stilte spørsmål

Er leksjonen «Enhetstesting med unittest» gratis?

Ja – hele teksten i «Enhetstesting med unittest» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Python Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Python Academy inneholder totalt 3 leksjoner.

Hva lærer jeg i «Enhetstesting med unittest»?

Oppdag hvordan du skriver tester for å kontrollere at koden din fungerer. Du øver på Python Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Python Academy?

Ingen tidligere erfaring er nødvendig. Python Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 3.

Hvor lang tid tar leksjonen «Enhetstesting med unittest»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Python Academy-leksjonen?

Ja. Alle Python Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Enhetstesting med unittest
  2. Feilsøkingsteknikker
  3. Bruke feilsøkingsverktøy
← Tilbake til Python Academy