微服务

SpringBoot2.0实战 | 第三章:SpringBoot

2019-12-09  本文已影响0人  学好该死的程序

本章目标

基于上一章,使用单元测试实现对增删查改接口的测试

操作步骤

添加依赖

引入 spring-boot-starter-test 的依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
    <scope>test</scope>
</dependency>

添加依赖后的整体 dependencies 如下所示

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

编码

测试用例编写在 src/test/java 源目录下

  1. 编写测试用例
@RunWith(SpringRunner.class)
@WebAppConfiguration
@SpringBootTest(classes = Application.class)
public class UserTest {

    private MockMvc mvc;

    @Autowired
    private WebApplicationContext webApplicationContext;

    @Autowired
    private UserRepository userRepository;

    @Before
    public void setUp() {
        mvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
    }

    @Test
    public void testInsert() throws Exception {
        MvcResult mvcResult = mvc.perform(
                MockMvcRequestBuilders
                .post("/user/add")
                .contentType(MediaType.APPLICATION_JSON_UTF8)
                .content("{\"name\":\"user1\",\"sex\":1,\"birthday\":\"2000-05-21\"}")
        )
//        .andExpect(status().isOk());
//        .andExpect(content().string("hello"))
        .andDo(MockMvcResultHandlers.print())
        .andReturn();

        Assert.assertEquals(200, mvcResult.getResponse().getStatus());
    }

}
@RunWith(SpringRunner.class) // 指定 SpringRunner 作为单元测试的执行类,SpringRunner 是 spring-test 提供的测试执行单元类
@WebAppConfiguration         // 模拟 ServletContext
@SpringBootTest(classes = Application.class) // 指定测试启动类,配置文件以及环境

验证结果

选择测试用例,右键选择 Run

源码地址

本章源码 : https://gitee.com/gongm_24/spring-boot-tutorial.git

总结

请为自己的所有方法编写单元测试

参考

上一篇下一篇

猜你喜欢

热点阅读