使用Spring Boot 1.4进行MVC测试,获取get(),status()和content()

时间:2017-01-24 17:55:31

标签: spring unit-testing spring-mvc testing spring-boot

This博客描述了Spring Boot 1.4中的一些测试改进。不幸的是,似乎缺少一些重要的信息。使用以下示例中的方法get()status()content()需要哪些静态导入?

@RunWith(SpringRunner.class)
@WebMvcTest(UserVehicleController.class)
public class UserVehicleControllerTests {

    @Autowired
    private MockMvc mvc;

    @MockBean
    private UserVehicleService userVehicleService;

    @Test
    public void getVehicleShouldReturnMakeAndModel() {
        given(this.userVehicleService.getVehicleDetails("sboot"))
            .willReturn(new VehicleDetails("Honda", "Civic"));

        this.mvc.perform(get("/sboot/vehicle")
            .accept(MediaType.TEXT_PLAIN))
            .andExpect(status().isOk())
            .andExpect(content().string("Honda Civic"));
    }
}

2 个答案:

答案 0 :(得分:1)

我已经发现:

import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;

答案 1 :(得分:0)

您可以使用以下指南使用自动导入日食功能进行静态导入。

Eclipse Optimize Imports to Include Static Imports

您的问题的确切答案如下。

import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.content;