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

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开发手册

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理