【发布时间】:2019-01-30 12:44:43
【问题描述】:
我正在尝试为 spring 控制器编写单元测试,myService 类在 myController 中自动装配,我已经模拟了 myService 类但是当我调试代码时它是即将 null
myService = null
我无法为我的控制器注入此服务。
@RunWith(MockitoJUnitRunner.class)
public class TestManageDevices {
private MockMvc mockMvc;
@Mock
MyService myService;
@Before
public void setUp() {
mockMvc = MockMvcBuilders.standaloneSetup(new MyController())
.build();
}
@Test
public void shouldPass() throws Exception {
Mockito.doNothing().when(myService).someMethod(Mockito.anyString(), Mockito.anyString(), Mockito.anyString());
JobResponse jobResponse = JobResponse.builder().responseCode(0).build();
jobResponse.requestObj = "mockedStringObject";
RequestBuilder requestBuilder = MockMvcRequestBuilders.post("/pathfortest")
.contentType(MediaType.APPLICATION_JSON_UTF8)
.param("id", Mockito.anyString());
MvcResult result = mockMvc.perform(requestBuilder).andReturn();
System.out.println(result.getResponse().getContentAsString());
MockHttpServletResponse response = result.getResponse();
Assert.assertEquals(HttpStatus.CREATED.value(), response.getStatus());
}
}
【问题讨论】:
标签: java spring spring-mvc junit mockmvc