我是Mockito新手,對Spring Data Web Support有點問題。Mockito Spring數據Web支持
我在我的控制器中有以下功能。
@DeleteMapping("/")
public MyObject delete(@RequestParam("id")MyObject object){
...do something
}
這裏發生的事情(在實際使用中)描述爲here。
問題是,當我在我的unitTests中使用MockMvc和Mockito時,沒有數據庫,也沒有持久性存儲庫。我如何讓Spring使用mockRepository替換我選擇的MyObject實例在/?id=1
中移交的id。
這是測試的樣子:
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.delete;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import com.mine.OrgUnitController;
import com.mine.OrgUnitService;
@RunWith(SpringJUnit4ClassRunner.class)
public class OrgUnitControllerTest2 {
private MockMvc mockMvc;
@Mock
SomeService someService;
@InjectMocks
MyController controller;
@Before
public void init() {
MockitoAnnotations.initMocks(this);
mockMvc = MockMvcBuilders.standaloneSetup(controller).build();
}
@Test
public void test_delete() throws Exception {
mockMvc.perform(delete("/?id=1")).andExpect(status().isOk());
}
}
我真的很感激任何幫助。
你使用Spring Boot嗎? –
你可以添加你的單元測試的例子嗎? – alayor
@alayor當然,我做到了。 –