Ich empfehle, die Standardverzeichnisstruktur der Apache Software Foundation zu befolgen , die Folgendes ergibt:
module/
src/
main/
java/
test/
java/
Dadurch werden Tests von der Quelle getrennt, jedoch auf derselben Ebene in der Verzeichnisstruktur. Wenn Sie durchlesen, wie Apache ihre Struktur definiert, werden Sie feststellen, dass dies auch dazu beiträgt, andere Probleme wie Ressourcen, Konfigurationsdateien, andere Sprachen usw. aufzuteilen.
Diese Struktur ermöglicht es Unit-Tests auch, Paket- und geschützte Level-Methoden der zu testenden Einheiten zu testen, vorausgesetzt, Sie platzieren Ihre Testfälle in demselben Paket wie das, was sie testen. In Bezug auf das Testen privater Methoden würde ich mich nicht darum kümmern. Etwas anderes, entweder öffentlich, paketiert oder geschützt, ruft sie auf, und Sie sollten in der Lage sein, eine vollständige Testabdeckung zu erhalten, in der diese Dinge getestet werden.
Der obige Link führt übrigens zu Maven, dem Standard-Build-Tool von Apache. Jedes Java-Projekt, das sie haben, entspricht diesem Standard sowie jedes Projekt, auf das ich gestoßen bin und das mit Maven erstellt wurde.