Anotasi rangka kerja Mockito memudahkan penjanaan stub dan proses pengesahan: @Mock: menjana dan mengurus objek tiruan secara automatik. @Captor: Tangkap nilai parameter yang dihantar kepada kaedah olok-olok. @InjectMocks: Menyuntik objek olok-olok secara automatik ke dalam kelas yang diuji. @Spy: Cipta beberapa objek stub dan kekalkan pelaksanaan kaedah asal.
Anotasi dalam rangka kerja Mockito: Memudahkan penjanaan stub dan pengesahan
Pengenalan
Mockito ialah rangka kerja ujian unit Java popular yang mampu mensimulasikan gelagat. Menggunakan Mockito, anda boleh menjana objek tiruan dan mengesahkan interaksinya dengan mudah. Bermula dari versi 1.10, Mockito memperkenalkan anotasi baharu yang boleh memudahkan lagi penjanaan stub dan proses pengesahan.
Gunakan anotasi @Mock untuk menjana stub
@Mock private Foo foo;
@Mock
anotasi boleh menjana dan mengurus objek mock foo secara automatik. Ia bersamaan dengan kod berikut: @Mock
注解可以自动生成并管理模拟 foo 对象。它等效于以下代码:
Foo foo = mock(Foo.class);
使用 @Captor 注解捕获参数
ArgumentCaptor<String> captor = ArgumentCaptor.forClass(String.class);
@Captor
注解可以捕获传递给模拟方法的参数。通过调用其 getValue()
方法,可以获取参数值。
实战案例:验证方法调用
@Test public void testFoo() { foo.bar("baz"); verify(foo).bar(captor.capture()); assertEquals("baz", captor.getValue()); }
使用 @InjectMocks 注解注入模拟对象
@InjectMocks private FooImpl foo; @Mock private Bar bar;
@InjectMocks
注解可以自动将模拟对象注入到被测类中。因此,无需手动设置注入依赖项。
使用 @Spy 注解创建部分桩
@Spy private Foo foo;
@Spy
注解创建部分桩对象。与 @Mock
不同,@Spy
rrreee
Menangkap parameter menggunakan anotasi @Captor rrreee
@Captor
anotasi boleh menangkap parameter yang dihantar kepada kaedah mengejek. Nilai parameter boleh diperoleh dengan memanggil kaedah getValue()
nya. 🎜Kes praktikal: Sahkan panggilan kaedah🎜🎜rrreee🎜🎜Gunakan anotasi @InjectMocks untuk menyuntik objek olok-olok🎜🎜rrreee🎜 @Spy
anotasi mencipta objek stub separa. Tidak seperti @Mock
, objek @Spy
masih mengekalkan pelaksanaan kaedah asalnya. Ini berguna apabila menggunakan objek sebenar untuk menguji atau mengesahkan kaedah peribadi. 🎜🎜🎜Kesimpulan🎜🎜🎜Anotasi dalam rangka kerja Mockito menyediakan cara yang mudah untuk memudahkan penjanaan dan pengesahan stub. Dengan menggunakan anotasi ini, anda boleh menjadikan ujian unit anda lebih ringkas dan boleh dibaca. 🎜Atas ialah kandungan terperinci Bagaimanakah anotasi dalam rangka kerja Mockito memudahkan penjanaan dan pengesahan rintisan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!