TargetClass.java
private String privateMethod(String message) {
return "Input: " + message;
}
TargetClassTest.java
@Test
public void privateMethodTest() {
// 1.Créer une instance de la classe d'implémentation
TargetClass targetClass = new TargetClass();
// 2.Créer une instance d'une méthode privée
Method privateMethod = TargetClass.class.getDeclaredMethod("privateMethod", String.class);
// 3.Autoriser l'accès aux méthodes privées
privateMethod.setAccessible(true);
// 4.Passez l'instance de classe d'implémentation et les arguments de méthode à la méthode instanciée
String actual = (String) privateMethod.invoke(targetClass, "Oh my god.");
String expected = "Input: Oh my god.";
// Assert
assertEquals(expected, actual);
}
Recommended Posts