Maison > Java > javaDidacticiel > Comment puis-je me moquer des cours finaux avec Mockito ?

Comment puis-je me moquer des cours finaux avec Mockito ?

Barbara Streisand
Libérer: 2024-12-31 17:09:15
original
506 Les gens l'ont consulté

How Can I Mock Final Classes with Mockito?

Classes finales moqueuses dans Mockito

Lorsque vous travaillez avec des classes finales, les tests peuvent devenir difficiles en raison de leur immuabilité. Pour surmonter cet obstacle, Mockito propose une solution dans sa version 2.

Implémentation avec Mockito v2

Pour simuler les classes finales avec Mockito v2, suivez ces étapes :

  1. Ajoutez ce qui suit à votre diplôme fichier :
testImplementation 'org.mockito:mockito-inline:2.13.0'
Copier après la connexion
  1. Importez la classe org.mockito.MockedStatic.
  2. Utilisez MockedStatic pour simuler la classe finale :
@MockedStatic(RainOnTrees.class)
public class SeasonsTest {
    // Test methods here
}
Copier après la connexion

Limitations avec Mockito v1

Se moquer des classes finales n'est pas possible avec Mockito v1. Ceci est explicitement indiqué dans la FAQ Mockito :

"Impossible de se moquer des classes finales"

Alternatives pour Mockito v1

Si vous utilisez Mockito v1, envisagez une alternative des solutions telles que :

  • Utiliser la réflexion pour modifier le résultat final class.
  • Utiliser un framework moqueur qui prend en charge la moquerie de classe finale, tel que PowerMock.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal