conanan's blog conanan's blog
首页
关于
  • 分类
  • 标签
  • 归档
  • Java
  • Java Web
  • 工具

    • Maven
  • MySQL
  • Redis
  • Git
  • Vim
  • Nginx
  • Docker
GitHub

Evan Xu

前端界的小学生
首页
关于
  • 分类
  • 标签
  • 归档
  • Java
  • Java Web
  • 工具

    • Maven
  • MySQL
  • Redis
  • Git
  • Vim
  • Nginx
  • Docker
GitHub
  • 基础

    • 0 Basic
    • 1 Basic Syntax
    • 1 Basic Syntax-1 数组
    • 2 Object Orientation-1 面向对象
    • 2 Object Orientation-2 抽象类&接口
    • 3 Error & Exception
    • 2 Object Orientation-3 枚举
  • API

  • Container

  • 多线程

  • 16 9,10,11新特性
  • 17 Test
    • 测试分类
    • Junit4
    • Junit5
      • @BeforeAll
      • @AfterAll
      • @BeforeEach
      • @AfterEach
  • 18 设计原则&设计模式
  • JDBC
  • Java
conanan
2020-12-14

17 Test

# 17 Test

  • 测试分类
  • Junit4
  • Junit5
    • @BeforeAll
    • @AfterAll
    • @BeforeEach
    • @AfterEach

# 测试分类

  • 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值。
  • 白盒测试:需要写代码的,关注程序具体的执行流程。如 Junit。

# Junit4

  1. 定义一个测试类(测试用例)

    • 测试类名:被测试的类名+Test

    • 包名:xxx.xxx.xx.test

  2. 定义测试方法:可以独立运行

    方法名:test+测试的方法名

    • 返回值:void
    • 参数列表:空参
  3. 给方法加**@Test**

  4. 导入junit依赖环境,org.junit

  • 判定结果:

    • 红色:失败

    • 绿色:成功

    • 一般我们会使用断言操作来处理结果

      • Assert.assertEquals(expected 期望的结果,actual 运算的结果);,支持各种类型数据
    • 补充:以下方法无论测试成功与否都会执行

      • @Before:
        • 修饰的方法会在测试方法之前被自动执行,用于资源申请init
      • @After:
        • 修饰的方法会在测试方法执行之后自动被执行,用于释放资源close

# Junit5

org.junit.jupiter,SpringBoot 2.2后默认导入

# @BeforeAll

  • @BeforeAll用于表示已注释的方法应在当前测试类中的所有测试之后执行。
  • 与@BeforeEach方法相反,@BeforeAll方法对于给定的测试类仅执行一次。
  • @BeforeAll方法必须具有void返回类型,不能为私有,并且默认情况下必须为静态。因此,除非使用@TestInstance(Lifecycle.PER_CLASS)注释测试类,否则@Nested测试类或接口默认方法不支持@BeforeAll方法。
  • @BeforeAll方法可以选择声明要由ParameterResolvers解析的参数。

# @AfterAll

  • @AfterAll用于表示已注释的方法应在当前测试类中的所有测试之后执行。
  • 与@AfterEach方法相反,@AfterAll方法对于给定的测试类仅执行一次。
  • @AfterAll方法必须具有void返回类型,不能为私有,并且默认情况下必须为静态。因此,除非使用@TestInstance(Lifecycle.PER_CLASS)注释测试类,否则@Nested测试类或接口默认方法不支持@AfterAll方法。
  • @AfterAll方法可以选择声明要由ParameterResolvers解析的参数。

# @BeforeEach

  • @BeforeEach用于表示应在当前测试类中的每个@ Test,@ RepeatedTest,@ ParameterizedTest,@ TestFactory和@TestTemplate方法之前执行带注释的方法。
  • @BeforeEach方法必须具有void返回类型,不能为私有,并且不能为静态。
  • 它们可以选择声明要由ParameterResolvers解析的参数。

# @AfterEach

  • @AfterEach用于表示应在当前测试类中的每个@ Test,@ RepeatedTest,@ ParameterizedTest,@ TestFactory和@TestTemplate方法之前执行带注释的方法。
  • @AfterEach方法必须具有void返回类型,不能为私有,并且不能为静态。
  • 它们可以选择声明要由ParameterResolvers解析的参数。
编辑
上次更新: 2021/06/21, 15:45:42
16 9,10,11新特性
18 设计原则&设计模式

← 16 9,10,11新特性 18 设计原则&设计模式→

最近更新
01
线程生命周期
07-06
02
线程安全理论
06-24
03
并发简史
06-24
更多文章>
Theme by Vdoing | Copyright © 2019-2021 Evan Xu | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×