API-Tests schreiben
Testfälle
- Liste leer/ok
- Create gültig → 201
- Create ungültig → 400
- Get unbekannte id → 404
- Delete → danach 404
Beispiel
def test_create_validation(self):
res = self.client.post("/api/cards", json={})
self.assertEqual(res.status_code, 400)
def test_create_ok(self):
res = self.client.post(
"/api/cards",
json={"front": "Katze", "back": "cat"},
)
self.assertEqual(res.status_code, 201)
Isolation
Tests sollten eine Test-DB nutzen, nicht die echte Produktionsdatei.
app.config["DATABASE"] = "test.db"
Rate mal!
Warum Test-DB?
Auflösung
Damit Tests Daten nicht zerschießen und reproduzierbar bleiben.
Probiere es selbst
Experiment 1
400-Test.
Experiment 2
201-Test.
Experiment 3
Test-DB-Pfad setzen.
Übungen
Level 1
3 Testfälle listen.
Level 2
Ein 400-Test.
Level 3
Create + Get Kette.
Mini-Quiz
Tests sitzen! Mini-Projekt: Lernkarten-API.