Maison > Java > javaDidacticiel > Comment se moquer efficacement des méthodes vides dans Mockito ?

Comment se moquer efficacement des méthodes vides dans Mockito ?

Linda Hamilton
Libérer: 2024-12-25 03:39:08
original
542 Les gens l'ont consulté

How to Mock Void Methods in Mockito Effectively?

Les méthodes de simulation de vide avec Mockito

Les méthodes de simulation de vide dans Mockito peuvent être réalisées en utilisant les méthodes de doThrow(), doAnswer(), doNothing () et les familles doReturn(). Ces méthodes vous permettent de spécifier le comportement d'une méthode simulée qui a un type de retour void.

Exemple :

// Mock a void method that throws an exception
Mockito.doThrow(new Exception()).when(instance).methodName();

// Mock a void method that performs some action
Mockito.doAnswer(new Answer<Void>() {
    public Void answer(InvocationOnMock invocation) {
        Object[] args = invocation.getArguments();
        System.out.println("called with arguments: " + Arrays.toString(args));
        return null;
    }
}).when(instance).methodName();
Copier après la connexion

Dans votre exemple spécifique, vous pouvez vous moquer du setState() dans la classe World comme suit :

// Mock the World class
World mockWorld = mock(World.class); 

// Mock the setState method to print the arguments passed to it
doAnswer(new Answer<Void>() {
    public Void answer(InvocationOnMock invocation) {
        Object[] args = invocation.getArguments();
        System.out.println("called with arguments: " + Arrays.toString(args));
        return null;
    }
}).when(mockWorld).setState(anyString());
Copier après la connexion

Maintenant, lorsque vous appelez mockWorld.setState() dans votre test, la réponse fournie sera être exécuté, vous permettant de vérifier que les arguments corrects ont été transmis à la méthode.

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