JIANGzihao0222

导航

 

Junit5测试框架

一:创建一个测试用例

junit5的测试依赖:

<!--        junit5新的编程和扩展模型-->

        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter</artifactId>
            <version>5.8.2</version>
            <scope>test</scope>
        </dependency>

首先,在src/main/java目录下进行随意类的创建

public class Example {
    // 右键-》goto -》选择地址 -》选择方法
    void hogwarsDemo(){
        System.out.println("cehs");
    }
}

右键 -> go to -> Test 

 进行选择,classname为测试类名称,Destination package为目标测试目录,为test下的目录,generate:进行勾选,创建两个钩子函数,下面member选择你要测试的

 二、注解

public class CaseTest {

//    注:
//    All 和 Each的区别
//    1、All 在一个测试类中,只执行一次,但是Each是有多少个方法调用,执行多少次
//    2、All 注解修饰的static方法,不能修饰普通方法,Each可以修饰普通方法
//    3、BeforeAll、AfterAll 的优先级高于BeforeEach、AfterEach
    @BeforeAll
    static void setUpAll(){
        System.out.println("CaseTest所有用例执行之前的动作");
    }

    @AfterAll
    static void tearDownAll(){
        System.out.println("CaseTest所有用例执行之后的动作");
    }
    @BeforeEach
    void setUp(){
        System.out.println("CaseTest每条用例执行前置动作");
    }

    @AfterEach
    void tearDown(){
        System.out.println("CaseTest每条用例执行后置动作");
    }
    @Test
    // 测试标题
    @DisplayName("CaseTest的一个测试")
    void hugwarts(){
        System.out.println("CaseTest的一个测试");
        // 断言
        assertEquals(2,1+1);
    }

    @Test
    @DisplayName("CaseTest的二个测试")
    void hugwarts2(){
        System.out.println("CaseTest的二个测试");
        // 断言
        assertEquals(2,1+1);
    }
}

三、断言

AssertEqTest
public class AssertEqTest {
    @Test
    @DisplayName("assertEquals断言测试")
    void hogawarts(){
        System.out.println("断言测试");
        // assertEquals 第一个参数:预期结果 第二个参数:实际结果
        assertEquals(2,1+1);
    }

}
AssertTrueTest 
public class AssertTrueTest {

    // AssertTrueTest 内结果为true,则通过
    @Test
    void expressionDemo(){
        System.out.println("断言结果为true");
        assertTrue(3>1);
    }

    @Test
    void boolDemo(){
        System.out.println("断言结果为true");
        assertTrue(true);
    }

}
AssertNoNullTest 
public class AssertNoNullTest {

    // AssertNotNull 传值为空则失败
    @Test
    void nullDemo(){
        System.out.println("断言传值为空的场景");
        assertNotNull(null);
    }

    @Test
    void notnullDemo(){
        System.out.println("断言传值不为空的场景");
        assertNotNull("sad");
    }
}
AssertAllDemoTest 
public class AssertAllDemoTest {


    // 如果多个用例存在断言,使用assertAll进行测试,每个断言都可以被执行
    // 第一个参数是一个描述信息,代表了这个分组断言是那一个应用场景,也可以不写
    @Test
    void hogwarts() {

        System.out.println("断言测试AssertAll");
        assertAll("All",
                () -> assertEquals(2, 1 + 1),
                () -> assertEquals(3, 1 + 1),
                () -> assertEquals(2, 1 + 1)
        );
    }
}

 

posted on 2024-05-07 15:49  实名吓我一跳  阅读(191)  评论(0编辑  收藏  举报