0
votes

Comment se moquer d'une carte dans Mockito?

J'ai deux cartes qui ont les mêmes arguments. Je voudrais se moquer d'un d'entre eux pour tester ma classe. Mais je ne sais pas une raison pour laquelle il ne fonctionne pas

Ceci est ma classe xxx

et c'est ma classe de test: xxx < / pré>


2 commentaires

Vous essayez de vous moquer de l'état interne d'un objet. PowerMock fournit une telle fonctionnalité. Voir cette réponse à Question similaire


Ce projet de printemps est-il?


3 Réponses :


0
votes

Avant de sauter dans la maquette de la carte, est-ce nécessaire pour se moquer d'une carte? Mock est utilisé pour remplacer une autre partie de votre code que vous ne souhaitez pas être impliqués dans votre test de l'unité. Tandis que la carte est suffisamment facile pour initier un test d'unité.


0 commentaires

0
votes

Vous avez besoin du même nom et de même type dans les deux classes:

//main class
private  HashMap<String, Foo> map;

//test class
@Mock
private  HashMap<String, Foo> map;


0 commentaires

1
votes

@InjectMocks essaie d'injecter les dépendances de la manière suivante

  1. en utilisant la première fois.
  2. Alors la propriété Setter.
  3. alors injection de champ.

    # 3 est probablement la voie pour vous. Essayez ce qui suit:

    • Supprimer l'initialisation de la carte du constructeur à leur fonction de réglage.
    • Modifiez le nom de la variable MAPTEST à MAP1 dans votre classe de test.
    • Définissez également map2 de la même manière.
    • puis injectmocks devrait trouver un champ correspondant à injecter.

      Partager plus de pièces pour le code pour une réponse plus précise.


0 commentaires