Hintergrund: Ich denke darüber nach, meinen Mitarbeitern das Konzept der Komponententests vorzustellen, indem ich einige für ein Modul erstelle, an dem ich gearbeitet habe. Die Anforderungen haben sich in letzter Zeit geändert und erfordern einige weitere Abstraktionen / Interaktionen. Daher scheint es eine gute Möglichkeit zu sein, eine Reihe von Tests zu entwickeln, die "beweisen", dass sie funktionieren, ohne manuell in der Anwendung herumzustöbern.
Das Problem ist jedoch, dass das Modul auf nicht nachahmbaren externen Faktoren beruht, nämlich PDFs und XSL. Grundsätzlich lese ich XML aus der Datenbank und wende eine XSL-Transformation darauf an. Anschließend konvertiere ich es mithilfe einer Bibliothek namens ABCPDF in ein PDF. Dieses PDF wird dann mit einem anderen PDF zusammengeführt, das auf einer statischen Vorlage basiert. Ich weiß, dass ich das XML testen und sicherstellen kann, dass die Werte korrekt sind, aber viele der potenziellen Fehler und Probleme hängen mit der tatsächlichen Anzeige des fertigen Dokuments zusammen - z befindet sich in Bezug auf das Dokument, etc. Ist es sogar möglich, diese Dinge zu testen (ich erkenne, dass dies wahrscheinlich Integrationstests sind oder .. die dritte Art von Test, dessen Name ich vergesse [keine Akzeptanztests, die andere Art], und keine Einheit Tests), da ich meines Wissens nicht in der Lage bin, eine PDF-Datei zu verspotten, ohne sie erst zu erstellen, dann zurückzulesen oder eine HTML-Zeichenfolge (dh transformiertes XML) zu erstellen und von Hand zu analysieren, um festzustellen, ob bestimmte Tabellenzellen in vorhanden sind Beziehung zu anderen Tabellenzellen.
Sollte ich mich in einer solchen Situation nur auf Komponententests konzentrieren, um sicherzustellen, dass die Informationen korrekt sind und ich das PDF erstellen oder zusammenführen kann, oder was auch immer, und auf manuelle Tests für die tatsächlichen Anzeigeprobleme zurückgreifen?