FAGPORTALEN

Test-driven development

Programmering B · HTX · B-niveau · Software-udvikling

💻 Test-Driven Development (TDD)

TDD = skriv testen FØR du skriver koden.

Red-Green-Refactor:

1. Red: skriv en test der fejler

2. Green: skriv minimal kode der får testen til at bestå

3. Refactor: forbedre koden uden at bryde testen

pytest — simpelt eksempel:

```python

test_kalkulator.py

def test_add():

assert add(2, 3) == 5

def test_add_negative():

assert add(-1, 1) == 0

def test_add_float():

assert add(0.1, 0.2) == pytest.approx(0.3)

kalkulator.py

def add(a, b):

return a + b

```

Kør tests:

```bash

pytest # kør alle tests

pytest -v # verbose output

pytest test_kalk.py # én specifik fil

pytest --cov # test-coverage

```

Arrange-Act-Assert (AAA-mønstret):

```python

def test_bankkonto_indsætning():

# Arrange

konto = Bankkonto("Alice", 1000)

# Act

konto.indsæt(500)

# Assert

assert konto.get_saldo() == 1500

```

Mocking: erstat ekstern afhængighed (database, API) med fake:

```python

from unittest.mock import patch

def test_hent_vejr():

with patch("requests.get") as mock:

mock.return_value.json.return_value = {"temp": 15}

resultat = hent_vejr("Odense")

assert resultat["temp"] == 15

```

Læringsmål

Sådan kan du arbejde med emnet

Træningsforslag

Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.

Prøv Fagportalen gratis

🤖 Denne side er skrevet med kunstig intelligens og fagligt gennemgået af Fagportalen, som har det redaktionelle ansvar. Finder du en fejl, så skriv til support@fagportalen.dk.