Junit测试框架详解

目录

Junit框架

导入Junit到项目

Junit注解

@Test

@Disabled

@BeforeAll  / @AfterAll

@BeforeEach / @ AfterEach

 参数化

单参数

多参数

CSV获取参数

方法获取参数

断言

assertEquals / assertNotEquals

assertNull / assertNotNull

用例执行顺序

 测试套件Suite

指定类,添加到套件中执行

指定包,添加到套件中执行


Junit框架

Junit框架是单元测试框架,方便测试项目,使我们在工作中必不可少的。

导入Junit到项目

        登录Maven中央仓库:https://mvnrepository.com/  ,搜索Junit进行下载依赖并导入到项目中的pom.xml中

选择junit具体版本号

 导入junit依赖到pom.xml中

 

Junit注解

        在Junit注解中,常用的有@Test、@Disabled、@BeforeAll、@AfterAll、@BeforeEach、@AfterEach这几种。接下来就将详细介绍这几种注解在项目的使用方法。

@Test

表示当前的这个方法是测试用例

在使用@Test注解时,如果Test标红了,则提示未导包:

import org.junit.jupiter.api.Test;

解决方法:点击@Test  选择add Maven选项即可

@Disabled

表示测试时可以忽视这个测试用例

@BeforeAll  / @AfterAll

@BeforeAll 表示在所有的测试用例运行之跑对应的方法

@AfterAll 表示在所有的测试用例运行之跑对应的方法

注意点:@BeforeAll 和@AfterAll 注解对应的方法时需要使用static静态方法

@BeforeEach / @ AfterEach

@BeforeEach 表示运行每个测试用例之前先运行该测试用例

@AfterEach  表示运行每个测试用例之后在运行该测试用例

 参数化

        我们在前面使用测试方法的时候都没有传入参数,当我们想要在测试用例中传入参数时,此时就需要使用到此时的参数化。

        经常使用到的参数化有单参数多参数CSV获取参数方法获取参数

        在使用参数时,需要导入参数依赖,同样的操作,在中央仓库搜索params,将相关依赖导入到pom.xml中

单参数

单参数需要使用如下注解:

@ParameterizedTest
@ValueSource(strings  = {"AA","BB","DD"})

(查看ValueSource源码)注意传入参数格式:

 

多参数

多参数使用的注解是@CsvSource,传入的多参数以字符串数组形式传入,查看源码即可

@ParameterizedTest
@CsvSource("小红,3,4")

CSV获取参数

CSV传入参数是以文件的形式传入参数,使用注解:

 @CsvFileSource(resources = "TestSource.csv")         TestSource.csv为创建的文件名

方法获取参数

方法获取参数就是定义一个新方法,在方法中定义多个参数,然后从方法中来获取参数

使用注解:

 @ParameterizedTest
    @MethodSource("hello")    hello为方法名

断言

assertEquals / assertNotEquals

通过这两个方法我们可以比较我们要测试的目标和我们所预期的是否一致。

assertEquals

 assertNotEquals

 

assertNull / assertNotNull

可以判断实际值是否为空

assertNull  预期值是null

 assertNotNull 预期值不是null

用例执行顺序

        Junit里面测试用例的测试顺序默认是不确定的,官方文档没有明确给出。但是我们可以使用Junit自带的方法来自定义测试用例的测试顺序

1、此注解不能省,牢记牢记在使用排序注解之前,需要在当前类之前加上标记排序注解:

@TestMethodOrder(MethodOrderer.OrderAnnotation.class)  //标记当前类方法来进行排序

2、使用@order注解来自定义排序

@Order()    //()为数字即自定义执行顺序

面试题:假如面试官问为什么要使用Junit里面的排序方法?

             答:如果测试用例之间存在关联关系的话,就需要手动的来指定测试用例的执行顺序

 测试套件Suite

测试套件就是让我们一次性可以执行多个类或者多个包避免我们一个一个类来点击测试,或者把所有的测试都写到一个类中。

在进行测试套件之前,需要先导入Suite的相关依赖和Engine的依赖(即需要导入2个依赖)

1、在Maven中央仓库下载Suite依赖

把下面相关依赖导入pom.xml中

 2、导入Engine的依赖

 

指定类,添加到套件中执行

创建一个测试套件类,将各个测试用例所在的类添加到测试套件类中

使用到的注解:

@Suite
@SelectClasses({Test01.class,Test02.class}) //Test01和Test02为测试类

指定包,添加到套件中执行

创建一个测试套件包,将各个测试用例所在的包添加到测试套件包(用法和指定类测试套件一致)

使用到的注解:

@Suite
@SelectPackages({"testPackage01","testPackage02"})

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值