Ich habe eine Verpflichtung, in dem ich eine private Methode einer abstrakten Klasse berufen habe.Hervorrufen von privaten Methoden einer abstrakten Klasse
Lassen Sie uns sagen, dass die abstrakte Klasse wie unten aussieht: -
public abstract class Base {
protected abstract String getName();
private String getHi(String v) {
return "Hi " + v;
}
}
Kann einige mich wissen zu lassen, ist es eine Möglichkeit, ich getHi
nennen kann (kann über Reflection
oder andere Mittel sein), so dass ich es testen aus? Ich verwende Junit 4.12
und Java 8
Ich bin durch diese question gegangen, aber hier sind die Methoden nicht privat in der abstrakten Klasse.
habe ich auch durch diesen question auch diese über private Methode in der abstrakten Klasse nicht weg reden.
ich frage hier nicht, ob wir die private Methode testen soll oder nicht oder was ist die beste Strategie für private Methoden zu testen. Dafür gibt es im Internet viele Ressourcen. Ich versuche nur zu fragen, wie wir eine private Methode einer abstrakten Klasse in Java aufrufen sollen.
Siehe http://stackoverflow.com/q/105007/3788176 –
ich bin mir bewusst, über die Diskussion, ob wir private Methode oder nicht testen sollten. Eigentlich interessiert mich zu wissen, ob es möglich ist, eine private Methode einer abstrakten Klasse aus einem Testcode aufzurufen? – tuk
Siehe http://stackoverflow.com/questions/6913325/annotation-to-make-a-private-method-public-only-for-test-classes, die einige Ansätze gibt. Insbesondere verweist [diese Antwort] (http://stackoverflow.com/a/6913775/3788176) auf das JUnit-Dokument zum Testen privater Methoden. –