首页 > 编程语言 >Java测试框架Junit5基础知识点

Java测试框架Junit5基础知识点

时间:2024-05-07 15:56:17浏览次数:30  
标签:知识点 Java 断言 void System 测试 println Junit5 out

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)
        );
    }
}

 

标签:知识点,Java,断言,void,System,测试,println,Junit5,out
From: https://www.cnblogs.com/JIANGzihao0222/p/18177481

相关文章

  • java代码审计-某酒店管理系统
    java代码审计-某酒店后台管理系统目录java代码审计-某酒店后台管理系统1、简介2、文件上传漏洞3、CSRF漏洞4、存储型XSS1、简介文章只作研究学习,请勿非法渗透测试;该系统是使用SpringMVC+Mysql搭建开发的一套中小型企业酒店后台管理系统;这里只对源代码进行审计,第三方依赖中还......
  • JavaScript 流程控制语句详解:if语句、switch语句、while循环、for循环等
    JavaScript,作为一种广泛使用的编程语言,它的流程控制语句是构建逻辑和实现功能的基础。流程控制语句包括条件语句、循环语句和转向语句,它们是编程中不可或缺的部分。接下来,我们将一一解析这些语句,带你走进JavaScript的世界。一、什么是流程控制语句流程控制语句是用来控制程序中......
  • Jmeter调用java代码
    加密:MD5、Base64、SHA、RSA、签名混合加密:jmeter的md5加密函数:BeanShell调用java代码: 调用jar包:1)在测试计划中引入jar包2)调用代码 ......
  • java连接redis,兼容主从切换
    使用redis的主从集群兼容情况:当redis的主从,通过网络问题或者机器异常问题发生了主从切换,程序能自动识别到主从变更,进而连master进行写操作做到无感知在使用Java连接到Redis主从集群时,确保应用程序能够在发生主从切换时自动感知并更新连接至新的主节点是非常重要的。这通常涉及......
  • Java发送HTTP GET/POST请求
    一、Java11HttpClient在Java11的java.net.http.*包中,有一个HttpClient类可以完成HTTP请求。Java11HttpClientExample.javapackagecom.lyl.http;importjava.net.URI;importjava.net.URLEncoder;importjava.net.http.HttpClient;importjava.net.http.HttpRequest;im......
  • 记一次java进程频繁挂掉问题排查修复
    前言最近业务部门有个java服务进程会突然无缘无故的挂掉,然后这个服务会产生一堆类似hs_err_pid19287.log这样的日志。业务部门负责人就把hs_err_pidxxx的日志发给我,让我帮忙看下问题。本文就来回顾一下,我是如何帮业务部门进行问题排查排查历程首先hs_err_pidxxx的日志有提示如......
  • 5.6为一个activity编写一个滚动界面的.java文件
    packagecom.example.yibaifen;importstaticandroidx.core.content.ContentProviderCompat.requireContext;importandroidx.annotation.NonNull;importandroidx.appcompat.app.AppCompatActivity;importandroidx.recyclerview.widget.DividerItemDecoration;importandro......
  • 排查Java反射调用的InvocationTargetExcetion问题
    在Java中通过反射调用方法时,常见的一个异常是:java.lang.reflect.InvocationTargetException,将异常信息打印到日志文件中时通常会有如下一句信息:java.lang.reflect.InvocationTargetException:null,由于在异常信息中存在"null",一开始就会非常敏感,会误以为是空指针异常。其实不然,从......
  • 什么是Java内存模型(JMM)?
    什么是Java内存模型(JMM)?一、JMM的相关概念Java内存模型简称JMM(JavaMemoryModel),是Java虚拟机所定义的一种抽象规范,用来屏蔽不同硬件和操作系统的内存访问差异,让java程序在各种平台下都能达到一致的内存访问效果。这里要注意两点:1)JMM是一个抽象的概念,并不是物理上的内存划分。2)J......
  • 如何使用 JavaScript 获取当前页面帧率 FPS
    可以通过计算每秒 window.requestAnimationFrame 的调用频率来做为FPS值。它接收一个回调函数,该回调函数会在浏览器下一次重绘之前执行。所以只要我们循环调用并记录单位时间内的调用次数就能计算当前页面的帧率了。效果展示在线预览-使用JavaScript获取当前页面帧率FP......