Am besten wäre es, wenn Sie Ihre Methoden so umgestalten, dass sie mit Eingabe / Ausgabe-Streams und nicht mit Dateien direkt arbeiten. Auf diese Weise können Sie String-Reader / Writer problemlos in Komponententests an sie übergeben (vorausgesetzt, sie arbeiten mit Textdateien - wenn nicht, benötigen Sie die entsprechende Art von Streams).
Wenn Sie direkt mit Dateien arbeiten, werden Ihre Komponententests komplizierter, da sie zusätzlichen Setup- / Teardown-Code zum Erstellen und Bereinigen des Testverzeichnisses sowie Lesen / Schreiben von Dateien in jedem Test benötigen, was die Tests verlangsamt. Außerdem eröffnet es die Möglichkeit zu Problemen wie das Fehlen eines Schreibrechts in einem bestimmten Verzeichnis (z. B. weil es in einem von einem anderen Entwickler gestarteten Testlauf erstellt wurde), einen vollen Plattenfehler usw. Es ist besser, die Komponententests selbst zu führen - so viel wie möglich enthalten.
Sie können ein Test / Ressourcen-Verzeichnis mit Dateien speziell zum Testen erstellen. Der Nachteil davon ist, dass Ihr Code in der Lage sein muss, dass der Pfad übergeben wird, was keine allzu große Hürde sein sollte, selbst wenn der Code nicht so entworfen wurde.
Also in deinem Test hättest du sowas wie
%Vor%Beachten Sie, dass wenn Sie absolute Pfade verwenden, unterschiedliche Entwickler unterschiedliche Pfade zu den Ressourcen haben. Daher müssen Sie möglicherweise Konfigurationsdateien verwenden ...
Tags und Links unit-testing file junit