这是我的方法。
@Path("/")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public class XYZ {
@GET
@Path("/workflow")
public Response getWorkflowsData() {
Object output=new Object();
return Response.ok().entity(output).build();
// or defination
}
}
我正在尝试这样做。
@Test
public void getWorkflowsDataTest() throws Exception{
MvcResult result = mockMvc
.perform(MockMvcRequestBuilders.get("/workflow")).andReturn();
String finalresult= result.getResponse().getContentAsString();
assertEquals(200, result.getResponse().getStatus());
}
这样我就无法找到实际的方法。
由于您使用的是 MockMvcRequestBuilders
,因此您的测试类应该具有@SpringJUnit4ClassRunner
注释,并且应该指定@ContextConfiguration
:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = {YOUR_CONTEXT_CLASS_GOES_HERE.class})
@WebAppConfiguration
public class MyTestClass {
@Resource
private WebApplicationContext webApplicationContext;
private MockMvc mockMvc;
@Before
public void setup() {
this.mockMvc = MockMvcBuilders.webAppContextSetup(this.webApplicationContext).build();
}
@Test
public void getWorkflowsDataTest() throws Exception{
MvcResult result = mockMvc
.perform(MockMvcRequestBuilders.get("/workflow")).andReturn();
String finalresult= result.getResponse().getContentAsString();
assertEquals(200, result.getResponse().getStatus());
}
}