日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java mock什么意思_java @Mock, @MockBean 与 Mockito.mock( ) 之间的差异

發布時間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java mock什么意思_java @Mock, @MockBean 与 Mockito.mock( ) 之间的差异 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

純Mockito庫import org.mockito.Mock;

...

@Mock

MyService myservice;

和import org.mockito.Mockito;

...

MyService myservice = Mockito.mock(MyService.class);

來自Mockito庫,在功能上是等價的,

它們允許模擬類或接口,并記錄和驗證行為。

@Before

public void initMocks() {

MockitoAnnotations.initMocks(this);

}

啟用Mockito注釋的另一種方法是使用@RunWith來注釋測試類,方法是指定執行此任務的MockitoJUnitRunner以及其他有用的東西:@RunWith(org.mockito.runners.MockitoJUnitRunner.class)

public MyClassTest{...}

Spring Boot庫包裝Mockito庫

這是一個Spring Boot類:import org.springframework.boot.test.mock.mockito.MockBean;

...

@MockBean

MyService myservice;

類包含在spring-boot-test庫中。

它允許在spring ApplicationContext中添加Mockito mocks,

通常,@WebMvcTest將僅限于一個控制器,并且與@MockBean一起使用,為所需的協作者提供模擬實現。

以下是一個示例:import org.junit.Test;

import org.junit.runner.RunWith;

import org.mockito.Mockito;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;

import org.springframework.boot.test.mock.mockito.MockBean;

import org.springframework.http.MediaType;

import org.springframework.test.context.junit4.SpringRunner;

import org.springframework.test.web.servlet.MockMvc;

import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;

import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;

@RunWith(SpringRunner.class)

@WebMvcTest(FooController.class)

public class FooControllerTest {

@Autowired

private MockMvc mvc;

@MockBean

private FooService fooServiceMock;

@Test

public void testExample() throws Exception {

Foo mockedFoo = new Foo("one","two");

Mockito.when(fooServiceMock.get(1))

.thenReturn(mockedFoo);

mvc.perform(get("foos/1")

.accept(MediaType.TEXT_PLAIN))

.andExpect(status().isOk())

.andExpect(content().string("one two"));

}

}

總結

以上是生活随笔為你收集整理的java mock什么意思_java @Mock, @MockBean 与 Mockito.mock( ) 之间的差异的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。