Ich bin Lesung Buch Effective Jave
, in Item 13: Minimize the accessibility of classes and members
, erwähnt, dass:Wie können wir Paket-private Klasse testen?
Tests zu erleichtern, Sie könnten versucht sein, eine Klasse, Schnittstelle oder Mitglied zugänglicher zu machen. Das ist bis zu einem gewissen Punkt in Ordnung. Es ist akzeptabel, ein privates Mitglied eines öffentlichen Klassenpakets - privat - zu erstellen, um es zu testen, aber es ist nicht akzeptabel, die Erreichbarkeit höher als das zu erhöhen. Mit anderen Worten, es ist nicht akzeptabel, eine Klasse, Schnittstelle oder ein Mitglied zum exportierten API der Pakete zu machen, um das Testen zu erleichtern.
Ich weiß, dass wir Mitglieder kapseln sollten, Informationen von Kunden zu verstecken, können wir sie testen, indem Sie die Klasse mit Getter und Setter zugreifen, aber Wie soll ich das verstehen Klasse Paket-private zugänglich machen, wenn ja, wie es zu testen ?
Michael, danke für Ihre Antwort. Ich habe darüber nachgedacht, aber es ist nicht bequem, alle Tests automatisch auszuführen. Leider ist es nicht möglich, die Testklassen-Dateien in ein anderes Paket zu trennen. +1 für Sie – haifzhan