我是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当然,我做到了。 –