Junit5——单元测试框架(内含用法)

Junit是针对Java的一个单元测试框架

注解

需要在pom.xml中添加

<dependency>
    <!--注解-->
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-api</artifactId>
    <version>5.9.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-params -->

@Order():决定各个测试用例的执行顺序

@Test :表示这个方法是一个测试用例

@Disabled:表示当前方法忽略

@BeforeAll:所有测试用例运行前,执行对应的方法。如果做UI自动化,里面通常放的代码为:创建驱动、打开网页

@AfterAll:所有测试用例运行结束后,执行对应的方法。里面通常放的代码为:关闭网页

@BeforeEach:每个测试用例运行前,执行对应的方法

@AfterEach:每个测试用例运行后,执行对应的方法

import org.junit.jupiter.api.*;

public class test {
    //方法默认是default,也可以是public
    @Test
    void Test01() {
        System.out.println("测试一");
    }
    @Test
    void Test02() {
        System.out.println("测试二");
    }
    @Disabled
    void Test03() {
        System.out.println("测试三");
    }
    @BeforeAll
    static void SetUp() {
        System.out.println("Beforeall");
    }
    @AfterAll
    static void TearDown() {
        System.out.println("Afterall");
    }
    @BeforeEach
    void BeforeEachTest() {
        System.out.println("  BeforeEach");
    }

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

 此时,可以选择运行的代码,下图为运行Test01()方法。

下图为运行所有方法(Test01()、Test01()) 

参数化 

需要在pom.xml中添加

<!-- 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>
 //单参数
    @ParameterizedTest
    @ValueSource(ints = {1, 2, 3})
    void Test04(int num) {
        System.out.println(num);
    }

    @ParameterizedTest
    @ValueSource(strings = {"1", "2", "3"})
    void Test05(String number) {
        System.out.println(number);
    }

    //多参数
    @ParameterizedTest
    @CsvSource({"1,2,3,''"})
    void Test10(int x,String y,int z,String q){
        System.out.println(x);
        System.out.println(y);
        //打印空字符串
        System.out.println(q);
        System.out.println(z);
        System.out.println("============");
    }

    //参数注册
    @ParameterizedTest
    //csv获取参数
    // (1,小明
    //  2,花花)
    @CsvFileSource(resources = "test01.csv")
    void Test06(int num,String name) {
        System.out.println(num +name);
    }

    public static Stream<Arguments> Generator() {
        return Stream.of(Arguments.arguments(1, "张三"), Arguments.arguments(2, "马里奥"));
    }
    @ParameterizedTest
    @MethodSource("Generator")
    void Test07(int num, String name) {
        System.out.println(num + ":" + name);
    }

    //断言 {断言相等、断言不相等、断言为空、断言不为空}
    @ParameterizedTest
    @ValueSource(ints = {1})
    void Test08(int num) {
        System.out.println(num);
        //断言相等
        Assertions.assertEquals(1, num);
        //断言不相等
        Assertions.assertNotEquals(2, num);
        //断言为空
        String s =null;
        Assertions.assertNull(s);
        Assertions.assertNotNull(num);
    }

    @ParameterizedTest
    @CsvSource({"1,2,3"})
    void Test09(int x ,int y,int z) {
        //断言相等
        Assertions.assertArrayEquals(new int[]{1, 2, 3}, new int[]{x,y,z});
    }

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值