Die Unterschiede zwischen @Mock, @MockBean und Mockito.mock() verstehen
Bei der Entwicklung von Tests und Mock-Abhängigkeiten ist es wichtig, Folgendes zu beachten Verstehen Sie die Unterschiede zwischen drei häufig verwendeten Ansätzen: @MockBean, @Mock und Mockito.mock().
Mockito vs. Spring Boot @MockBean
Mockito (klassisch/einfach):
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 verwendet Annotationen und bietet eine direkte Möglichkeit, Klassen oder Schnittstellen zu verspotten.
Spring Boot @MockBean:
import org.springframework. boot.test.mock.mockito.MockBean;<br>...<br>@MockBean<br>MyService myservice;<br>
@MockBean von Spring Boot ist eine speziell verwendete Annotation innerhalb des Spring Boot-Frameworks.
Unterschied:
Wann zu verwenden:
Mockito.mock() vs. @Mock @MockBean
Sowohl @Mock (von Mockito) als auch @MockBean (von Spring Boot) werden zum Verspotten verwendet, aber es gibt subtile Unterschiede:
Funktionell erzielen beide das gleiche Ergebnis, sodass die Entscheidung, welche verwendet werden soll, von den spezifischen Testanforderungen abhängt.
Praktische Verwendung
Unit-Test ohne Spring-Kontext:
@Mock<br>MyService myservice;<br>
Unit-Test mit Spring-Kontext und Bean-Overriding:
@MockBean<br>MyService myservice;<br>
Hinzufügen von Mocks zum Spring WebMvc-Test:
@WebMvcTest(FooController.class)<br>@MockBean<br>FooService fooServiceMock;<br>
Das obige ist der detaillierte Inhalt vonHier sind einige Titeloptionen für Ihren Artikel, die das Frageformat hervorheben: Kurz und prägnant: * @Mock, @MockBean oder Mockito.mock(): Welche Mocking-Strategie ist die richtige für Sie? * Spring Boot-Test. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!