junit 5基础知识

一、添加依赖

     <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-api</artifactId>
            <version>5.9.1</version>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-params</artifactId>
            <version>5.9.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-params -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-params</artifactId>
            <version>5.9.1</version>
        </dependency>
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-suite</artifactId>
            <version>1.9.1</version>
            <scope>test</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.junit.platform/junit-platform-suite -->
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-suite</artifactId>
            <version>1.9.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.9.1</version>
            <scope>test</scope>
        </dependency>

二、常用注解

1.@Test

表明一个测试方法


    @Test
    void contextLoads() {
    }

2.@BeforeAll

在所有测试方法执行之前执行的方法,且只执行一次

注解的方法必须是静态方法,否则它将引发运行时错误。

    @BeforeAll
    public static void test01(){
        System.out.println("BeforeAll");
    }

3.@AfterAll

在所有测试方法执行之后执行的方法,且只执行一次

注解的方法必须是静态方法,否则它将引发运行时错误。

 @AfterAll
    public static void test03(){
        System.out.println("AfterAll ");
    }

4.@BeforeEach

在每个测试方法执行之前都会执行的方法


    @BeforeEach
    public  void test02(){
        System.out.println("BeforeEach");
    }

5.@AfterEach

在每个测试方法执行之后都会执行的方法

@AfterEach
    public void test04(){
        System.out.println("AfterEach");
    }

6.@Order

决定测试用例的执行顺序 越小越优先

三、参数化

1.单参数

@ParameterizedTest不能和@Test修饰一个方法
@ParameterizedTest
    @ValueSource(ints = {1,2,3})
    void test06(int num){
        System.out.println(num);

    }

2.多参数

@ParameterizedTest
    @CsvSource({"1,2","3,4"})
    void test07(String num1,int num2){
        System.out.println(num1+" "+num2);

    }

3.方法

   @ParameterizedTest
    @MethodSource("hello")
    void test07(int num,String name){
        System.out.println(num+" "+ name);


    }
    public static Stream<Arguments> hello(){
        return Stream.of(Arguments.arguments("1,张三"));
    }

4.多参数CSV文件

  @ParameterizedTest
    @CsvFileSource(resources = "01.CSV")
    public void test08(){

    }

四、断言

断言就是专门用来验证输出和期望是否一致的一个工具

  @ParameterizedTest
    @ValueSource(ints ={1})
    public void test01(int num1){
        int a=0;
        a=num1+2;
        Assertions.assertEquals(3,a);
        Assertions.assertNotEquals(1,a);
        Assertions.assertNull(a);
        Assertions.assertNotNull(a);


    }

1.断言相等

assertEquals(expected, actual, message)

如果预期值 expected 不等于实际返回值 actual ,则断言失败。

2.断言不相等

assertNotEquals(expected, actual, message)

如果预期值 expected 等于实际返回值 actual ,则断言失败。

3.断言为空

assertNull(actual, message) 如果 actual 不是 null ,则断言失败。

4.断言不为空

assertNotNull(actual, message) 如果 actual 是 null ,则断言失败。

五、测试套件

创建一个测试套件类,里面指定好可以执行哪些测试类

创建一个测试套件类,并在该类上使用@Suite注解。然后,使用@SelectClasses@SelectPackages指定要包含在测试套件中的类或包。

@Suite
@SelectClasses({test02.class,DemoApplication.class})
public class test01 {
}
@Suite
@SelectPackages(value = "demo2,com.example.demo")
public class test01 {
}

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值