Maison > Java > javaDidacticiel > Comment se moquer des méthodes privées dans Mockito avec PowerMock ?

Comment se moquer des méthodes privées dans Mockito avec PowerMock ?

Mary-Kate Olsen
Libérer: 2024-11-03 16:00:30
original
281 Les gens l'ont consulté

How to Mock Private Methods in Mockito with PowerMock?

Se moquer des méthodes privées dans Mockito avec PowerMock

Tester des classes avec des méthodes privées peut poser un défi, en particulier lorsque l'exactitude de ces méthodes privées est supposé. Une solution à ce problème consiste à utiliser PowerMock en conjonction avec Mockito.

Pour simuler une méthode privée à l'aide de PowerMock, suivez ces étapes :

  1. Créez un objet espion : Utilisez PowerMockito.spy() pour créer un objet espion de la classe que vous souhaitez tester.
  2. Utilisez PowerMockito.when() : Définissez le comportement de la méthode privée à l'aide de PowerMockito .quand(). Cette méthode prend trois paramètres :

    • L'objet espion
    • Un matcher de méthode (dans ce cas, un matcher method() suffira)
    • Le comportement à retourner lorsque la méthode privée est appelée

Par exemple, le code suivant se moque de la méthode privée "doTheGamble" pour toujours renvoyer true :

<code class="java">CodeWithPrivateMethod spy = PowerMockito.spy(new CodeWithPrivateMethod());

when(spy, method(CodeWithPrivateMethod.class, "doTheGamble", String.class, int.class))
        .withArguments(anyString(), anyInt())
        .thenReturn(true);</code>
Copier après la connexion
  1. Testez la méthode publique : Enfin, vous pouvez utiliser votre objet espion pour tester la méthode publique qui appelle la méthode privée.

En suivant ces étapes, vous pouvez efficacement vous moquer de la méthode privée. méthodes de test à l'aide de PowerMock et Mockito.

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