Angenommen, Sie haben Tests für zwei Methoden einer Klasse. Bei der ersten Methode werden Daten aus einer anderen Ebene erfasst und unabhängig von der Laufzeit in einem Speicher abgelegt (z. B. in einer SQL-Tabelle), sodass alle von diesem Test verarbeiteten Daten fest im Test codiert werden. Die zweite Methode ist dafür verantwortlich, Daten von der Stelle zu nehmen, an der die erste Methode sie verlassen hat, und sie auf irgendeine Weise zu transformieren (Berechnen, Verschieben bestimmter Teile an eine andere Stelle usw.).
Nun könnte diese zweite Methode fest codierte Eingaben wie die erste haben, oder es könnte angenommen werden, dass die beiden Tests nacheinander ausgeführt werden und dort weitermachen, wo der erste Test aufgehört hat, wobei die Daten übernommen werden, die beim ersten Test tatsächlich gespeichert wurden.
Wenn Sie sich für die zweite Option entschieden hätten, hätten Sie wirklich eine gute Idee, dass die beiden Methoden gut zusammenspielen. Wenn jedoch der erste Test fehlschlug, würden alle nachfolgenden Tests fehlschlagen, was den Testvorteil einer schnelleren Fehlerisolierung zunichte macht.
Wenn Sie sich für die erste Option entscheiden, wird jede Methode unabhängig voneinander isoliert und getestet, aber Sie werden nie wirklich wissen, dass sie wirklich richtig zusammenarbeiten können.
Welches ist hier die bessere Option? Gibt es eine Alternative wie einen einzelnen Test für jede isolierte Methode mit Hardcoding und dann größere Tests, die beide Methoden in einer enthalten?