本篇內(nèi)容介紹了“Java單元測試Mockito如何用”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
創(chuàng)新互聯(lián)專注于網(wǎng)站建設(shè),為客戶提供成都網(wǎng)站制作、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)開發(fā)服務(wù),多年建網(wǎng)站服務(wù)經(jīng)驗(yàn),各類網(wǎng)站都可以開發(fā),成都品牌網(wǎng)站建設(shè),公司官網(wǎng),公司展示網(wǎng)站,網(wǎng)站設(shè)計(jì),建網(wǎng)站費(fèi)用,建網(wǎng)站多少錢,價(jià)格優(yōu)惠,收費(fèi)合理。
調(diào)用mock對(duì)象的方法時(shí),不會(huì)執(zhí)行真實(shí)的方法,而是返回類型的默認(rèn)值,如object返回null, int返回0等,否則通過指定when(方法).thenReturn(value)來指定方法的返回值。同時(shí)mock對(duì)象可以進(jìn)行跟蹤,使用verify方法看是否已經(jīng)被調(diào)用過。而spy對(duì)象,默認(rèn)會(huì)執(zhí)行真實(shí)方法,返回值可以通過when.thenReturn進(jìn)行覆蓋??梢妋ock只要避開了執(zhí)行一些方法,直接返回指定的值,方便做其他測試。
需要的依賴
junit junit 4.12 test org.mockito mockito-core 2.23.4 test org.springframework.boot spring-boot-test 2.1.13.RELEASE
代碼示例
@RunWith(MockitoJUnitRunner.class) @SpringBootTest() public class StudentServiceTest { @InjectMocks StudentService studentService = new StudentServiceImpl(); @Mock StudentDAO studentDAO; @Before public void before(){ Mockito.doReturn(new StudentDO("張三", 18)).when(studentDAO).read(Mockito.anyString()); } @Test public void testRead(){ StudentDO read = studentService.read(""); Assert.assertNotNull(read); } }
需要的依賴
org.springframework spring-test 5.1.14.RELEASE com.jayway.jsonpath json-path 2.4.0
代碼示例
@RunWith(MockitoJUnitRunner.class) @SpringBootTest() public class StudentControllerTest { @Resource MockMvc mockMvc; @InjectMocks StudentController studentController; @Mock StudentService studentService; @Before public void before() { mockMvc = MockMvcBuilders.standaloneSetup(studentController).build(); Mockito.doReturn(new StudentDO("張三", 18)).when(studentService).read(Mockito.anyString()); } @Test public void testRead() throws Exception { MockHttpServletRequestBuilder request = MockMvcRequestBuilders.get("/student/read/1"); mockMvc.perform(request) .andDo(print()) .andExpect(status().isOk()) .andExpect(jsonPath("$.name").value("張三")); } }
“Java單元測試Mockito如何用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!