关于java:第二节SpingBoot单元测试

5次阅读

共计 2858 个字符,预计需要花费 8 分钟才能阅读完成。

SpingBoot 365 打算开始更新了, 打算手敲 365 个 SpringBoot 案例回顾总结造成常识体系。目前曾经输入了 32 节的内容。所有源码托管在 GitHub 和 Gitee 上。

  • 1. 第一节: 创立 SpringBoot 我的项目并运行 HelloWorld.md
  • 2. 第二节:SpingBoot 单元测试.md
  • 3. 第三节:SpringBoot 中 web 我的项目举荐目录构造.md
  • 4. 第四节:SpringBoot 中 web 模版数据渲染展现.md
  • 5. 第五节:SpringBoot 罕用注解介绍.md
  • 6. 第六节:SpingBoot 根本配置一.md
  • 7. 第七节:SpringBoot 高级属性配置二.md
  • 8. 第八节:SpringBoot 指定配置文件配置三.md
  • 9. 第九节:SpringBoot 在线文档 Swagger2 入门.md
  • 10. 第十节:SpringBoot 中的日志治理.md
  • 11. 第十一节:Springboot 整合 log4j2 日志.md
  • 12. 第十二节:Springboot 多环境配置.md
  • 13. 第十三节: 应用 Lombok 简化你的代码.md
  • 14. 第十四节:SpringBoot 应用 JdbcTemplate 拜访操作数据库根本用法.md
  • 15. 第十五节:SpringBoot 应用 JPA 拜访数据库.md
  • 16. 第十六节:SpringBoot 应用 JPA 一对多, 多对多拜访数据库.md
  • 17. 第十七节:SpringBoot 应用 JPA 实现用户角色多对多查问.md
  • 18. 第十八节:SpringBoot 集成 MyBatis 注解形式拜访数据库.md
  • 19. 第十九节:SpringBoot 集成 MyBatis(XML)形式拜访数据库.md
  • 20. 第二十节:SpringBoot 集成 MyBatis 实现分页.md
  • 21. 第二十一节:SpringBoot 应用 Mybatis
  • 22. 第二十二节:SpringBoot 集成 MyBatis-Plus 实现增删改查.md
  • 23. 第二十三节:SpringBoot 对立异样解决 3 种形式.md
  • 24. 第二十四节:SpringBoot 中数据校验 JSR303.md
  • 25. 第二十五节:SpringBoot 中自定义一个 JSR303 标准的注解校验器.md
  • 26. 第二十六节:SpringBoot 集成 Redis 配置的基本操作.md
  • 27. 第二十七节:SpringBoot 中的 stream 实现音讯队列.md
  • 28. 第二十八节:SpringBoot 中应用 Redis 实现超时勾销订单.md
  • 29. 第二十九节:SpringBoot 中 Redis 实现音讯订阅.md
  • 30. 第三十节:SpringBoot 集成 ehcache 应用 JVM 内存模式缓存.md
  • 31. 第三十一节:SpringBoot 集成 ehcache 应用 Redis 模式缓存.md
  • 32. 第三十二节:SpringBoot 集成 WebSocket.md
  • 未完待续。。。。。

个别咱们在写某个性能后, 就会应用测试数据, 验证咱们的代码是否能输入预期的值。这时候就会用到单元测试。SpingBoot 官网给咱们提供了 spring-boot-starter-test 测试组件。

在上一节我的项目的根底上 pom.xml 引入依赖

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-test</artifactId>
</dependency>
  • test 目录下创立测试类
  • 创立 com.rumenz.lession2.HelloWorldTest2HelloWorld文件

办法 1

应用 @SpringBootTest@AutoConfigureMockMvc注解。com.rumenz.lession2.HelloWorldTestHelloWorld

HelloWorldTestHelloWorld.java

@SpringBootTest
@AutoConfigureMockMvc
public class HelloWorldTestHelloWorld {
    @Autowired
    private MockMvc mockMvc;

    @Test
    public void testHelloWorld() throws Exception {this.mockMvc.perform(MockMvcRequestBuilders.get("/")).andDo(MockMvcResultHandlers.print())
                .andExpect(MockMvcResultMatchers.status().isOk())
                .andExpect(MockMvcResultMatchers.content().string(Matchers.containsString("入门小站")));

    }
}

办法 2

应用 @WebMvcTest 注解,com.rumenz.lession2.HelloWorldTest2HelloWorld

/**
 * @className: HelloWorldTestHelloWorld
 * @description: TODO 类形容
 * @author: 入门小站 rumenz.com 微信公众号: 入门小站
 * @date: 2021/10/31
 **/

@WebMvcTest
public class HelloWorldTest2HelloWorld {
    @Autowired
    private MockMvc mockMvc;

    @Test
    public void testHelloWorld() throws Exception {this.mockMvc.perform(MockMvcRequestBuilders.get("/")).andDo(MockMvcResultHandlers.print())
                .andExpect(MockMvcResultMatchers.status().isOk())
                .andExpect(MockMvcResultMatchers.content().string(Matchers.containsString("入门小站")));

    }
}

跑测试

在 @Test 注解处右键,Run 'testHelloWorld()' with 'Allocation Profiler'

测试后果

本小结源码地址:

  • GitHub:https://github.com/mifunc/spr…
  • Gitee:https://gitee.com/rumenz/spri…
  • 原文:https://rumenz.com/rumenbiji/…

介绍

  • 我的博客 https://rumenz.com/
  • 我的工具箱 https://tooltt.com/
  • 微信公众号:【入门小站】

  • 关注【入门小站】回复【1001】获取 linux 常用命令速查手册
  • 关注【入门小站】回复【1003】获取 LeetCode 题解【java 语言实现】
  • 关注【入门小站】回复【1004】获取 Java 根底外围总结
  • 关注【入门小站】回复【1009】获取 阿里巴巴 Java 开发手册

正文完
 0