Unittests maken die echte fouten vinden.
Unittests moeten verwacht gedrag en relevante grenzen uitdrukken. Neem niet simpelweg de formule van de implementatie over in de test.
Stem de werkwijze af op je taak.
Bepaal verwacht gedrag vanuit het functiecontract en kies relevante gewone, grens- en foutgevallen. Gebruik bekende uitkomsten of onafhankelijke fixtures en vermijd assertions die alleen de implementatieberekening herhalen.
- Wat je aanlevert
- Functie-implementatie en testframework.
- Wat je krijgt
- Betekenisvolle tests voor gedrag en grensgevallen.
Bekijk de invoer en het resultaat.
Illustratieve invoer en uitvoer · een leervoorbeeld, geen live uitvoering van WebAct
Voorbeeld invoerveld
Write pytest tests for calculator.add(a, b). It returns the sum of two integers. Required cases: positive values, zero, negative values.
Uitgewerkt voorbeeld
# test_calculator.py
import pytest
from calculator import add
@pytest.mark.parametrize("a,b,expected", [(2, 3, 5), (0, 0, 0), (-2, 3, 1)])
def test_add(a, b, expected):
assert add(a, b) == expected
Run in the project with pytest installed: python -m pytest test_calculator.pyLaad deze invoer in de prompt en kopieer deze naar WebAct om de taak te proberen. Je resultaat kan afwijken van het voorbeeld.
Keuzes en probleemoplossing.
Moet een gegenereerde unittest de functieformule dupliceren?
Gebruik waar mogelijk onafhankelijk bekende verwachtingen. Dezelfde fout in de test herhalen kan een onjuiste implementatie geverifieerd doen lijken.
Waarom slagen alle tests terwijl de echte fout blijft?
Controleer of de tests de falende conditie en het werkelijke contract dekken. Veel tests bewijzen geen relevante dekking.
Bron voor deze werkwijze.
Probeer het met je eigen bron.
Vervang het voorbeeld door je eigen materiaal in de taakprompt. Behoud de eisen die je nodig hebt en kopieer de taak naar WebAct.
De taak aanpassen en kopiëren ↑