Maison >Java >javaDidacticiel >Comment puis-je me moquer d'un cours final dans Mockito ?

Comment puis-je me moquer d'un cours final dans Mockito ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-28 21:04:15999parcourir

How Can I Mock a Final Class in Mockito?

Se moquer des cours finaux avec Mockito

Problème :

Vous avez un cours final que vous je veux me moquer d'un test JUnit. Cependant, Mockito semble avoir des limites pour se moquer des classes finales.

Question détaillée :

Considérez l'exemple de code suivant :

Java

public final class RainOnTrees {
   public void startRain() {
      // some code here
   }
}

Dans un autre class :

Java

public class Seasons {
   RainOnTrees rain = new RainOnTrees();
   public void findSeasonAndRain() {
      rain.startRain();
   }
}

Dans la classe de test JUnit pour Seasons.java, vous souhaitez vous moquer de la classe RainOnTrees. Comment pouvez-vous y parvenir en utilisant Mockito ?

Réponse :

À partir de Mockito v2, il est devenu possible de se moquer des classes finales. Pour activer cette fonctionnalité, ajoutez ce qui suit à votre fichier Gradle :

Java

testImplementation 'org.mockito:mockito-inline:2.13.0'

Notez que se moquer des classes finales n'était pas réalisable avec Mockito v1. Comme mentionné dans la FAQ Mockito :

"Impossible de se moquer des classes finales"

Pour plus d'informations sur les limitations de Mockito, reportez-vous à la documentation officielle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn