Python Academy · Lektion

Enhetstestning med unittest

Upptäck hur du skriver tester för att validera koden.

Lektion 1 av 311 steg

Enhetstestning med unittest är en gratis lektion i Python Academy på CoddyKit. Detta är lektion 1 av 3. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Python Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Python Academy innehåller totalt 3 lektioner.

Enhetstestning med unittest

Enhetstestning är en metod för att testa enskilda delar av koden och säkerställa att de fungerar som förväntat. Pythons modul unittest är ett inbyggt bibliotek för att skapa och köra enhetstester.

I den här lektionen lär du dig hur du skapar och kör enhetstester med ramverket unittest.

Enhetstestning med unittest — illustration 1

Vad är enhetstestning?

Enhetstestning innebär att enskilda funktioner eller metoder testas isolerat för att säkerställa att de fungerar korrekt. Det hjälper dig att upptäcka fel tidigt i utvecklingsprocessen och säkerställer att koden är tillförlitlig.

Konfigurera unittest

Modulen unittest ingår i Pythons standardbibliotek, så du behöver inte installera något. För att använda den importerar du modulen och skapar testfall genom att ärva från 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()

Skriva testfall

Om du vill skriva ett testfall definierar du en metod i testklassen. Varje metod ska börja med test_ så att ramverket unittest kan identifiera den som ett testfall.

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

Köra tester

Kör tester genom att köra skriptet som innehåller dina testfall. Ramverket unittest hittar och kör automatiskt alla testmetoder.

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

Vanliga assertioner

Modulen unittest tillhandahåller flera assertionsmetoder:

  • assertEqual(a, b): Kontrollerar om a är lika med b.
  • assertTrue(x): Kontrollerar om x är sann.
  • assertIn(a, b): Kontrollerar om a finns i b.
  • assertRaises(exception): Kontrollerar om ett undantag uppstår.

Testa gränsfall

Det är viktigt att testa gränsfall, till exempel tom indata, stora tal eller ogiltiga data, för att säkerställa att koden är robust.

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

Organisera testfiler

I större projekt bör du organisera testfall i en separat mapp, som vanligtvis heter tests/, och namnge testfiler med prefixet test_.

Vanliga misstag med unittest

Här är några misstag att undvika:

  • Att inte namnge testmetoder med prefixet test_.
  • Att glömma att hantera gränsfall i testfallen.
  • Att inte köra tester regelbundet under utvecklingen.

Vad har du lärt dig?

I den här lektionen har du lärt dig:

  • Vad enhetstestning är och varför det är viktigt.
  • Hur du använder modulen unittest för att skriva och köra testfall.
  • Vilka vanliga assertions som finns i ramverket unittest.
  • Metoder för att organisera testfiler och hantera gränsfall.

Bra jobbat! Nu går vi vidare till nästa ämne.

Enhetstestning med unittest — illustration 11
Gratis att börja

Lär dig Python med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
76
Lektioner
320

Vanliga frågor

Är lektionen ”Enhetstestning med unittest” gratis?

Ja – hela texten till ”Enhetstestning med unittest” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Python Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Python Academy innehåller totalt 3 lektioner.

Vad lär jag mig i ”Enhetstestning med unittest”?

Upptäck hur du skriver tester för att validera koden. Ni övar på Python Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Python Academy?

Du behöver inga förkunskaper. Utbildningen i Python Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 1 av 3.

Hur lång tid tar lektionen ”Enhetstestning med unittest”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Python Academy-lektionen?

Ja. Varje Python Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Enhetstestning med unittest
  2. Felsökningstekniker
  3. Använda felsökningsverktyg
← Tillbaka till Python Academy