Laravel Testing: Warum Tests keine Zeitverschwendung sind
Automatische Tests in Laravel
'Ich schreibe keine Tests, das dauert zu lange.' Das höre ich oft. Hier ist warum das ein teurer Irrtum ist.
Was Tests wirklich kosten
Ja, das Schreiben von Tests kostet Zeit. Ein Feature-Test für eine API-Endpoint dauert vielleicht 15 Minuten extra. Aber: Ein Bug der in Produktion gefunden wird kostet im Schnitt das 10-fache an Zeit — plus Reputationsschaden.
Was Tests in Laravel einfach macht
Laravel hat PHPUnit und Pest integriert. Mit den eingebauten Test-Helpers ist ein HTTP-Test schnell geschrieben:
it('creates a post', function () {
$user = User::factory()->create();
$response = $this->actingAs($user)
->postJson('/api/posts', ['title' => 'Test']);
$response->assertCreated();
$this->assertDatabaseHas('posts', ['title' => 'Test']);
});
Was ich teste
- Feature-Tests für alle API-Endpoints
- Unit-Tests für komplexe Business-Logik
- Browser-Tests (Dusk) für kritische User-Flows
Was ich nicht teste
Alles was das Framework schon testet. Getter und Setter. Triviale Hilfsfunktionen. Zeit ist wertvoll — ich teste was wirklich brechen kann.