Wie zu verwenden VisibleForTesting für reinen JUnit-tests.
Im Laufenden Reine JUnit4 java-tests über meine Reine java Dateien auf mein Projekt, aber ich kann nicht einen Weg finden, um @VisibleForTesting deutlich, ohne dass das Ding manuell öffentlichkeit.
Ex:
@VisibleForTesting
public Address getAddress() {
return mAddress;
}
Die Methode public
zu lassen "öffentlichen" tests, aber in diesem Fall wird die annotation nicht Sinn machen, richtig? warum nicht einfach einen Kommentar, wenn die annotation nicht nichts tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laut Android-Dokumentation:
Beispiel:
@VisibleForTesting(sonst = VisibleForTesting.PRIVAT)
public Address getAddress()
Wird die Methode package-private und der test wird in der Lage sein, um es zu sehen, wenn der test in der entsprechenden test-Paket (mit dem gleichen package Namen als dem production code).
Berücksichtigen Sie auch refactoring von Ihrem code, so brauchen Sie nicht explizit zu testen, die eine private Methode, testen Sie das Verhalten einer öffentlichen Schnittstelle. Code, der schwer zu testen, können ein Indiz dafür, dass Verbesserungen vorgenommen werden können, um die Produktion code.
Sich der Punkt der Anmerkung ist, dass das übereinkommen und könnte verwendet werden, die im statischen code-Analyse, in der Erwägung, dass ein Kommentar nicht konnte.
@VisibleForTesting annotation verwendet wird, in der Paket-Methoden in Guave und nicht Teil des JUnit-API. Die annotation ist nur ein tag, um die Methode anzugeben getestet werden können. Es auch gar nicht geladen werden in der JVM.