Memahami Perbezaan antara @Mock, @MockBean dan Mockito.mock()
Apabila membangunkan ujian dan kebergantungan mengejek, adalah penting untuk fahami perbezaan antara tiga pendekatan yang biasa digunakan: @MockBean, @Mock dan Mockito.mock().
Mockito vs. Spring Boot @MockBean
Mockito (klasik/plain):
...
@Mock<br>MyService myservice;<br> pra>
...
MyService myservice = Mockito.mock(MyService.class);
Mockito menggunakan anotasi dan menyediakan cara langsung untuk mengejek kelas atau antara muka.
Spring Boot @MockBean:
import org.springframework. boot.test.mock.mockito.MockBean;<br>...<br>@MockBean<br>MyService myservice;<br>
Spring Boot @MockBean ialah anotasi yang digunakan secara khusus dalam rangka kerja Spring Boot.
Perbezaan:
Bila Gunakan:
Mockito.mock() lwn. @Mock @MockBean
Kedua-dua @Mock (dari Mockito) dan @MockBean (dari Spring Boot) digunakan untuk mengejek, tetapi ada yang halus perbezaan:
Secara fungsional, kedua-duanya mencapai hasil yang sama, jadi keputusan untuk digunakan bergantung pada keperluan ujian khusus.
Penggunaan Praktikal
Ujian Unit tanpa Konteks Spring:
@Mock<br>MyService myservice;<br>
Ujian Unit dengan Konteks Musim Bunga dan Penggantian Kacang:
@MockBean<br>MyService myservice;<br>
Menambahkan Olok-olok pada Ujian WebMvc Musim Bunga:
@WebMvcTest(FooController.class)
@MockBean
FooService fooServiceMock;<
gt;Atas ialah kandungan terperinci Berikut ialah beberapa pilihan tajuk untuk artikel anda, menekankan format soalan: Pendek & Punchy: * @Mock, @MockBean, atau Mockito.mock(): Strategi Mengejek Mana yang Sesuai untuk Anda? * Ujian But Spring. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!