Ich schreibe Komponententests für mein Java-Programm. Mein Programm führt viele Dinge aus, die das Lesen von einer Datei, die der Benutzer eingibt, und das Erstellen einer neuen Datei basierend auf dem Inhalt der eingegebenen Datei beinhalten.Ist es für Komponententests angemessen, vorgefertigte Dateien zu verwenden?
Momentan verwenden meine Komponententests vorgefertigte Dateien, die zum Testen erstellt wurden und die ich in das Quellverzeichnis der Ressourcen gestellt habe. Wenn eine Datei erstellt wird, wird sie im selben Ressourcenquellverzeichnis abgelegt.
Ich habe mir hier viele Fragen und Antworten angeschaut, und es gibt so viele verschiedene Meinungen darüber, wie man mit Dateien in Unit Tests umgeht. Ist es richtig, diese vorgefertigten Dateien in meinen Komponententests zu verwenden, oder gibt es eine bessere Lösung?
Ja, es ist völlig in Ordnung. Stellen Sie die von Ihren Tests generierten Dateien jedoch nicht unter src ab. Sie sind keine Quellen, also haben sie in src nichts zu tun. –
@ JBNizet Vielen Dank. Ich werde ändern, wo sie erstellt werden. – ST3
Sie könnten den Code auch so umgestalten, dass Sie nur einen 'InputStream' anstelle eines' FileInputStream' nehmen und dann einfach einen 'ByteArrayInputStream' übergeben und alles in einem Test behalten. (Dasselbe gilt für das Schreiben von Dateien: benutze 'OutputStream' und so). Wenn du stattdessen Dateinamen übergibst, gibt es ein bisschen mehr Refactoring, aber die Idee ist die gleiche. – Robert