我使用Spring Boot 1.4.2和Jersey(jax-rs)来创建REST控制器.我已经按照文档介绍了如何测试REST控制器(测试Spring MVC切片).但我的测试返回404,我似乎无法找出原因.这里的控制器已经简化,但问题仍然存在.
我的问题是如何在运行测试时获得200状态?
HealthController.java
@Controller
@Path("/health")
public class HealthController {
@GET
@Produces(MediaType.APPLICATION_JSON)
public Health health() {
return Health.up().build();
}
}
Run Code Online (Sandbox Code Playgroud)
运行服务器并进行查询给了我这个
%> curl -i http://localhost:8080/health
HTTP/1.1 200
X-Application-Context: application
Content-Type: application/json
Content-Length: 21
Date: Sun, 27 Nov 2016 15:22:30 GMT
{
"status" : "UP"
}%
Run Code Online (Sandbox Code Playgroud)
HealthControllerTest.java
@RunWith(SpringRunner.class)
@WebMvcTest(HealthController.class)
public class HealthControllerTest {
@Autowired
private MockMvc mockMvc;
@Test
public void health() throws Exception {
mockMvc.perform(get("/health").accept(MediaType.APPLICATION_JSON))
.andExpect(status().isOk()); // 200 expected
}
}
Run Code Online (Sandbox Code Playgroud)
这是我在运行测试时得到的
. ____ _ __ _ …Run Code Online (Sandbox Code Playgroud)