- Introduksjon til IT-utviklerfaget
- API og integrasjoner
- Arbeidsmiljø
- Bærekraft
- CI/CD
- Containerteknologi
- Databasebehandling
- Datamodellering
- Datastrukturer
- Debugging
- Designmønster
- DevOps
- Dokumentasjon
- Enhetstesting
- Etikk
- Frontend/Backend
- HTML/CSS/JS
- Maskinlæring
- Nettverk
- Objektorientert programmering
- Personvern
- Pseudokode
- Rammeverk
- Refactoring
- Responsivt design
- Sikkerhet
- Synkron og asynkron programmering
- Teknisk gjeld
- UI/UX
- Versjonskontroll
- Universell utforming
Enhetstesting
Som IT-utvikler er det viktig å skrive kode som fungerer som den skal. Enhetstesting (unit testing) er en metode for å teste de minste delene av koden din – enhetene – for å sikre at de fungerer som forventet. Tenk på det som å teste hver enkelt Lego-kloss før du bygger et stort slott.
Hva er en enhet?
En enhet kan være en funksjon, en metode, en klasse eller et modul. Det viktigste er at enheten er liten og isolert, slik at den kan testes uavhengig av andre deler av koden.
Hvorfor er enhetstesting viktig?
- Tidlig feildeteksjon: Enhetstester hjelper deg å finne feil tidlig i utviklingsprosessen, før de blir større og mer komplekse å fikse.
- Forbedret kodekvalitet: Enhetstester oppfordrer til å skrive mer modulær og testbar kode, noe som fører til bedre kodekvalitet.
- Redusert risiko: Enhetstester gir deg trygghet når du endrer eller refaktorerer kode, siden du kan være sikker på at du ikke introduserer nye feil.
- Dokumentasjon: Enhetstester fungerer som en form for dokumentasjon, som viser hvordan koden skal brukes og hva den forventes å gjøre.
Hvordan skrive enhetstester
- Isoler enheten: Skill enheten fra resten av koden.
- Definer test case: Beskriv hva enheten skal gjøre i en gitt situasjon.
- Skriv testkode: Skriv kode som kjører enheten med test case og verifiserer resultatet.
Eksempel
La oss si at du har en funksjon summer(a, b)
som skal returnere summen av to tall. En enhetstest for denne funksjonen kan se slik ut:
import unittest
def summer(a, b):
return a + b
class TestSummer(unittest.TestCase):
def test_summer_positive_tall(self):
self.assertEqual(summer(2, 3), 5)
def test_summer_negative_tall(self):
self.assertEqual(summer(-2, 3), 1)
if __name__ == '__main__':
unittest.main()
I dette eksempelet definerer vi to test cases: en for positive tall og en for negative tall. assertEqual
-metoden sjekker om resultatet av summer(a, b)
er lik det forventede resultatet.
Verktøy for enhetstesting
Det finnes mange verktøy som kan hjelpe deg med å skrive og kjøre enhetstester, for eksempel:
- JUnit (Java)
- unittest (Python)
- pytest (Python)
- Jasmine (JavaScript)
- Mocha (JavaScript)
Viktig å huske
- Skriv enhetstester for all kritisk kode.
- Hold enhetstestene dine enkle og fokuserte.
- Kjør enhetstestene dine ofte, gjerne som en del av CI/CD-pipelinen.
Som IT-utvikler er enhetstesting en viktig del av verktøykassen din. Det hjelper deg å skrive bedre kode, redusere feil og levere programvare av høy kvalitet.
Relaterte kompetansemål
- bruke utviklingsstrategier og samarbeide med andre utviklere
- utforske prosesser knyttet til testing og feilsøking i utvikling av løsninger