Maison >Java >javaDidacticiel >Voici quelques options de titre pour votre article, en mettant l'accent sur le format de la question : Court et percutant : * @Mock, @MockBean ou Mockito.mock() : quelle stratégie de moquerie vous convient le mieux ? * Test de démarrage de printemps
Comprendre les différences entre @Mock, @MockBean et Mockito.mock()
Lors du développement de tests et de dépendances moqueuses, il est essentiel de comprendre les distinctions entre trois approches couramment utilisées : @MockBean, @Mock et Mockito.mock().
Mockito vs Spring Boot @MockBean
Mockito (classique/plain) :
import org.mockito.Mock;<br>...<br>@Mock<br>MyService myservice;<br></ pre></p> <p><pre class="brush:php;toolbar:false">import org.mockito.Mockito;<br>...<br>MyService myservice = Mockito.mock(MyService.class);<br>
Mockito utilise des annotations et fournit un moyen direct de se moquer de classes ou d'interfaces.
Spring Boot @MockBean :
import org.springframework. boot.test.mock.mockito.MockBean;<br>...<br>@MockBean<br>MyService myservice;<br>
@MockBean de Spring Boot est une annotation utilisée spécifiquement dans le framework Spring Boot.
Différence :
Quand utiliser :
Mockito.mock() contre @Mock @MockBean
@Mock (de Mockito) et @MockBean (de Spring Boot) sont utilisés pour se moquer, mais il y a des subtilités différences :
Fonctionnellement, ils obtiennent tous deux le même résultat, donc la décision à utiliser dépend des exigences spécifiques du test.
Utilisation pratique
Test unitaire sans contexte Spring:
@Mock<br>MyService myservice;<br>
Test unitaire avec contexte Spring et remplacement de bean:
@MockBean<br>MyService myservice;<br>
Ajout de simulations au test Spring WebMvc :
@WebMvcTest(FooController.class)<br>@MockBean<br>FooService fooServiceMock;<br>
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!