@ -100,3 +100,16 @@ Um die Ersetzung von Abhängigkeiten möglich zu machen müssen "seams", Nahtste
### Wiederholung
Es gibt drei Arten von Test-Doubles. Zum einen gibt es Stubs, sie sind leere Implementierungen. Zum anderen gibt es Fakes diese sind einfache Implementierungen sie liefern zwar Werte, besitzen allerdings keine eigene Logik. Als drittes gibt es Mock, diese sind verbesserte Fakes, denn sie besitzen ein konfigurierbares Verhalten und können zusätzlich übergebene Parameter verifiziren
## Vorlesung vom 2024.01.09
### Lernziel
- Test-Driven-Development
- Grundlagen für das Testen und Eigenschaften guter Unittests
- Erstellen der Unittests in Abhängigkeit zum Code
### Erkenntnis
Im TDD wird Code in micro cycles geschrieben. Diese bestehen aus 3 Schritten, erstens wird ein Test geschrieben, gerade soweit, dass er fehlschlägt. Im zweiten Schritt wird Code geschrieben, dass der Test nicht mehr fehlschlägt, hierbei muss nicht auf Formalitäten geachtet werden, der Code muss nur funktionieren. Die letzte Phase ist das Refactoring hier wird der gerade geschriebene Code und der Test verbessert, dabei darf keine neue Funktionalität hinzugefügt werden, oder Code so verändert werden, dass der Test fehlschlägt.
### Wiederholung
Es gibt drei Ansätze wie Code und korrelierende Tests produziert werden. Code first, Tests werden erst nach dem Code geschrieben, diese Variante birgt das Risiko, dass nicht genug getestet wird, da durch das bereits fertiggestellte Produkt ein ökonomischer Druck entsteht, dieses voreilig zu veröffentlichen. Als zweites exstiert Test first, hier werden Tests vor dem Code geschrieben, diese Variante stellt sicher, dass getestet wird, garantiert allerdings nicht hohe Testabdeckung. Als letztes gibt es das Test Driven Development hier werden Tests und Code in Zyklen geschrieben und kontrolliert, was für die höchste Sicherheit und Testabdeckung führt.