Ich wundere mich über einen netten Weg, mit einer geschützten Methode in Junit umzugehen.
Angenommen, ich möchte eine Klasse namens A mit einem geschützten Member und Konstruktor testen. Ich habe verstanden, dass ich, um die Klasse A zu testen, eine andere Klasse namens ATest schreiben sollte, die TestCase erweitern könnte (dies sollte in Junit3 obligatorisch sein). Da ich eine geschützte Methode testen möchte und weil A einen geschützten Konstruktor hat, sollte meine Testklasse ATest auch die Klasse A erweitern, in der diese Methode implementiert ist, um diese Klasse erstellen und auf die Methode zugreifen zu können.
könnte eine doppelte Vererbung aus beiden Klassen eine nette Lösung sein?
P.S Ich weiß bereits, dass in Junit 4 die Vererbung aus dem Testfall vermieden werden könnte.
Java lässt keine Mehrfachvererbung der Implementierung zu. Sie können mehrere Schnittstellen implementieren.
Ich würde es vorziehen, die Reflexion zu verwenden, um Methoden zum Testen zu erhalten, von denen die Kunden nicht wissen sollen. Funktioniert auch für private Methoden.