L'annotation @Spy dans JUnit, en particulier lorsqu'elle est utilisée avec Mockito, est appliquée pour créer un espion sur un objet réel. Un espion est une simulation partielle, ce qui signifie que vous pouvez vous moquer de certaines méthodes de l'objet tout en conservant le comportement réel des autres méthodes.
Voici quelques utilisations courantes de l'annotation @Spy :
Moquerie partielle :
@Spy private ListspyList = new ArrayList(); @Test public void testSpy() { spyList.add("Mockito"); Mockito.verify(spyList).add("Mockito"); assertEquals(1, spyList.size()); Mockito.doReturn(100).when(spyList).size(); assertEquals(100, spyList.size()); }
Remplacement du comportement de la méthode réelle :
@Spy private MyClass myClass = new MyClass(); @Test public void testSpyWithMethodOverride() { Mockito.doReturn("Mocked Value").when(myClass).someMethod(); assertEquals("Mocked Value", myClass.someMethod()); }
Vérification des appels de méthode :
@Spy private MyClass myClass = new MyClass(); @Test public void testMethodCallVerification() { myClass.someMethod(); Mockito.verify(myClass).someMethod(); }
Combinaison avec @InjectMocks :
@Spy private MyDependency dependency; @InjectMocks private MyService service; @Test public void testService() { Mockito.doReturn("Mocked Result").when(dependency).doSomething(); assertEquals("Mocked Result", service.performAction()); }
Test du code existant :
En résumé, l'annotation @Spy est utile lorsque vous devez contrôler ou vérifier les comportements spécifiques d'un objet réel tout en gardant le reste du comportement de l'objet inchangé.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3