Einfache Erläuterung mit Analogien
Die oben genannten Beispiele sind sehr gut, und ich brauche sie nicht zu wiederholen. Ich werde mich also darauf konzentrieren, Beispiele zu verwenden, um Ihnen das Verständnis zu erleichtern.
Integrationstests
Integrationstests prüfen, ob alles zusammen funktioniert. Stellen Sie sich eine Reihe von Zahnrädern vor, die in einer Uhr zusammenarbeiten. Ein Integrationstest würde lauten: Zeigt die Uhr die richtige Zeit an? Zeigt sie in 3 Tagen immer noch die richtige Zeit an?
Sie sagt nur aus, ob das Gesamtwerk funktioniert. Wenn es scheitert: Es sagt Ihnen nicht genau, wo es scheitert.
Einheitliche Tests
Es handelt sich dabei um ganz bestimmte Arten von Tests. Sie sagen Ihnen, ob eine bestimmte Sache funktioniert oder nicht. Der Schlüssel zu dieser Art von Test ist, dass er nur eine bestimmte Sache testet, während er davon ausgeht, dass alles andere gut funktioniert. Das ist der springende Punkt.
Ejemplo: Lassen Sie uns diesen Punkt anhand eines Beispiels näher erläutern:
- Nehmen wir als Beispiel ein Auto.
- Integration Test für ein Auto: Fährt das Auto z. B. nach Woop Woop und zurück? Wenn es das tut, kann man mit Sicherheit sagen, dass das Auto aus einer Gesamtperspektive heraus funktioniert. Dies ist ein Integrationstest. Wenn der Test fehlschlägt, wissen Sie nicht, woran es liegt: ist es der Kühler, das Getriebe, der Motor oder der Vergaser? Sie haben keine Ahnung. Es könnte alles sein.
- Einheitstest für ein Auto: Funktioniert der Motor? Dieser Test setzt voraus, dass alles andere im Auto einwandfrei funktioniert. Wenn also dieser spezielle Unit-Test fehlschlägt, können Sie sehr sicher sein, dass das Problem im Motor liegt - so können Sie das Problem schnell eingrenzen und beheben.
Verwendung von Stubs
-
Angenommen, der Integrationstest für Ihr Auto schlägt fehl. Es fährt nicht erfolgreich nach Echuca. Wo liegt das Problem?
-
Nehmen wir nun an, dass Ihr Motor ein spezielles Kraftstoffeinspritzsystem verwendet und dass dieser Motoreinheitstest ebenfalls fehlgeschlagen ist. Mit anderen Worten: Sowohl der Integrationstest als auch der Motoreinheitstest sind fehlgeschlagen. Wo liegt dann das Problem? (Geben Sie sich 10 Sekunden Zeit, um die Antwort zu finden.)
-
Liegt das Problem am Motor oder an der Einspritzanlage?
Verstehen Sie das Problem hier? Sie wissen nicht, was genau schief läuft. Wenn Sie verschiedene externe Abhängigkeiten verwenden, könnte jede einzelne dieser 10 Abhängigkeiten das Problem verursacht haben - und Sie wissen nicht, wo Sie anfangen sollen. Aus diesem Grund verwenden Unit-Tests Stubs, um davon auszugehen, dass alles andere einwandfrei funktioniert.