当前位置:网站首页 > 单元测试 > 正文

单元测试步骤(单元测试示例)



官方文档:Junit5官网指导

  • @Test :表示此方法是测试方法。但是与JUnit4的@Test不同,他的职责非常单一,不能声明任何属性,拓展的测试将会由Jupiter提供额外测试
  • @ParameterizedTest:参数化测试使用注解
  • @RepeatedTest :表示测试方法可重复执行,value表示重复执行次数
  • @DisplayName :为测试类或者测试方法设置展示名称
  • @BeforeEach :表示在每个单元测试之前执行该方法
  • @AfterEach :表示在每个单元测试之后执行该方法
  • @BeforeAll :表示在所有开始单元测试之前执行,此方法必须是静态方法
  • @AfterAll :表示在所有单元测试完成之后执行,此方法必须是静态方法
  • @Tag :表示单元测试类别,类似于JUnit4中的@Categories
  • @Disabled :表示测试类或测试方法不执行,类似于JUnit4中的@Ignore
  • @Timeout :表示测试方法运行如果超过了指定时间将会返回错误
  • @SpringBootTest:如果测试类想要使用Spring Boot的自动注入功能,例如@Autowired注解等,就需要在测试类上加上此注解
  • @ExtendWith :为测试类或测试方法提供扩展类引用,类似于@RunWith,@RunWith(JUnit4.class) 就是指用JUnit4来运行,@RunWith(SpringJUnit4ClassRunner.class),让测试运行于Spring测试环境

断言是测试方法中的核心部分,它用于检查业务逻辑返回的数据是否合理,不满足的断言会使得测试方法失败

如果是多个断言依次执行,只要前面的断言不通过,后面的就不会再执行了

  • assertEquals:判断两个对象或两个原始类型是否相等
  • assertNotEquals:判断两个对象或两个原始类型是否不相等
  • assertSame:判断两个对象引用是否指向同一个对象
  • assertNotSame:判断两个对象引用是否指向不同的对象
  • assertTrue:判断给定的布尔值是否为 true
  • assertFalse:判断给定的布尔值是否为 false
  • assertNull:判断给定的对象引用是否为 null
  • assertNotNull:判断给定的对象引用是否不为 null

通过 assertArrayEquals 方法来判断两个对象或原始类型的数组是否相等

通过assertAll方法接受多个函数式接口的实例作为要验证的断言,只要有一个不通过,就算失败

通过assertThrow方法断定某个代码会抛出指定异常

通过assertTimeout断定某个代码的执行时间会超过限制时间

通过fail方法直接使得测试失败

前置和断言的不同之处在于,不满足的断言会使得测试方法失败,而不满足的前置条件只会使得测试方法的执行终止

前置条件可以看成是测试方法执行的前提,当该前提不满足时,就没有继续执行的必要

可以理解成测试套娃,需要注意的是,外层的测试方法无法驱动内层的测试方法,去执行内层测试方法的beforeEach、beforeAll、afterEach、afterAll

  • @ValueSource: 为参数化测试指定入参来源,支持八大基础类以及String类型,Class类型
  • @NullSource: 表示为参数化测试提供一个null的入参
  • @EnumSource: 表示为参数化测试提供一个枚举入参
  • @CsvFileSource:表示读取指定CSV文件内容作为参数化测试入参
  • @MethodSource:表示读取指定方法的返回值作为参数化测试入参(注意方法返回需要是一个流)

测试结果如图

到此这篇关于SpringBoot实现单元测试示例详解的文章就介绍到这了,更多相关SpringBoot单元测试内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

到此这篇单元测试步骤(单元测试示例)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 单元测试的内容是(单元测试的内容是指什么)2025-08-13 23:18:04
  • 单元测试方案(单元测试方案怎么写)2025-08-13 23:18:04
  • 单元测试规范文档怎么做(单元测试 规范)2025-08-13 23:18:04
  • 单元测试标准规范(单元测试 规范)2025-08-13 23:18:04
  • 单元测试范围包括(单元测试范围包括哪项)2025-08-13 23:18:04
  • 单元测试规范文档怎么写(单元测试依据什么文档)2025-08-13 23:18:04
  • 单元测试的范围(单元测试的范围包括)2025-08-13 23:18:04
  • 单元测试步骤及测试内容(单元测试主要的测试方法)2025-08-13 23:18:04
  • 单元测试规范(单元测试方案)2025-08-13 23:18:04
  • 单元测试规范可以放在知识库什么目录下(单元测试规范可以放在知识库什么目录下)2025-08-13 23:18:04
  • 全屏图片