[JAVA] Tester les méthodes privées dans JUnit

procédure

  1. Créez une instance de la classe d'implémentation
  2. Créez une instance de la méthode privée
  3. Autoriser l'accès aux méthodes privées
  4. Passez l'instance de classe d'implémentation et les arguments de méthode à la méthode instanciée

Exemple de code

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

Tester les méthodes privées dans JUnit
Tester les méthodes privées dans JUnit
[Java] Tester des méthodes privées avec JUnit
À propos des méthodes de validation dans JUnit
Comment tester une méthode privée qui prend un tableau ou un argument de longueur variable dans JUnit
Si vous souhaitez satisfaire la couverture de test des méthodes privées dans JUnit
Sortie du rapport de test JUnit dans Maven
Points à garder à l'esprit lors du test de méthodes privées dans JUnit
Comment filtrer JUnit Test dans Gradle
Refactoring dans JUnit
Comment tester l'étendue privée avec JUnit
JUnit 5: Comment écrire des cas de test dans enum
Visualisez la méthode de test en cours d'exécution dans TestNG dans l'écouteur
Mélanger les cas de test avec JUnit 5 et les méthodes par défaut
Faites un test unitaire avec Junit.
Obtenez le nom du scénario de test dans la classe de test JUnit
Implémenter le test double dans JUnit sans utiliser de bibliothèques externes
[Java] Exemple de cas de test JUnit 4
Tester l'API Web avec junit
Méthodes d'assistance disponibles dans la devise
Vérifier la méthode privée de l'interface Java9
[JUnit] Tester l'exception levée
Méthodes statiques simulées dans Mockito 3.4
[Spring Boot] Jusqu'à ce que @Autowired soit exécuté dans la classe de test [JUnit5]
Implémenter un test piloté par table dans Java 14
À propos des méthodes fréquemment utilisées dans la conception
Le test de paramétrage JUnit 5 est super pratique
Différences dans les méthodes de fractionnement de StringUtils
Test API souvent utilisé dans AssertJ
Méthodes fréquemment utilisées dans Active Record
Quelles sont les règles de JUnit?
Contrôleur de cadre de test Spring avec Junit
Méthodes Ruby souvent utilisées dans Rails
Comment tester une méthode privée et la simuler partiellement en Java