Maison > Java > javaDidacticiel > Comment se moquer d'une méthode statique unique renvoyant un objet à l'aide de PowerMockito ?

Comment se moquer d'une méthode statique unique renvoyant un objet à l'aide de PowerMockito ?

Patricia Arquette
Libérer: 2024-12-02 15:30:12
original
442 Les gens l'ont consulté

How to Mock a Single Static Method Returning an Object Using PowerMockito?

Se moquer d'une méthode statique unique pour renvoyer un objet à l'aide de PowerMockito

Lorsqu'il s'agit d'une classe contenant plusieurs méthodes statiques, le défi se pose de se moquer d'une seule méthode statique tout en s'assurant qu'elle renvoie un objet. Voici une solution détaillée utilisant PowerMockito :

  1. Activer la simulation statique :

    Commencez par activer la simulation statique pour la classe que vous souhaitez modifier à l'aide de PowerMockito. mockStatic (Classe.classe). Cela vous permet de configurer des comportements spécifiques pour les méthodes statiques au sein de cette classe.

  2. Stubbing de la méthode :

    Pour spécifier le comportement de la cible méthode statique, utilisez la syntaxe when-thenReturn. Par exemple :

    when(Class.m1(param1, param2)).thenReturn(objectToReturn);
    Copier après la connexion

    Ceci spécifie que lorsque m1 est appelé avec les paramètres donnés, il doit renvoyer l'objet fourni.

  3. Éviter les valeurs de retour par défaut :

    Par défaut, PowerMockito fournit ses propres valeurs par défaut pour les méthodes statiques non stubbées. Pour remplacer cela et renvoyer un objet personnalisé, il est crucial d'utiliser la version à 1 argument de mockStatic sans spécifier de stratégie par défaut.

  4. Exemple d'implémentation :

    Considérez l'extrait de code suivant :

    PowerMockito.mockStatic(Static.class);
    when(Static.m1("param1", "param2")).thenReturn(new Object());
    Copier après la connexion

    Ce code se moque de la méthode statique m1 dans la classe Static et la stubs pour renvoyer une nouvelle instance d'un objet.

  5. Utilisation de la méthode simulée :

    Une fois que la méthode statique est simulée et stubbé, vous pouvez l'utiliser comme d'habitude. L'appel de méthode sera intercepté par PowerMockito et renverra l'objet spécifié.

N'oubliez pas que la principale différence ici réside dans l'utilisation de la version à 1 argument de mockStatic pour activer la simulation statique sans spécifier de stratégie par défaut. , puis en utilisant la syntaxe when-thenReturn pour remplacer une seule méthode statique afin de renvoyer un objet.

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