首页 > 其他分享 >Junit5 详解

Junit5 详解

时间:2022-12-23 17:44:07浏览次数:44  
标签:junit5 api jupiter import org Junit5 junit 详解

简述

  junit5是当前java比较流行的单元测试框架。

  junit5官网:https://junit.org/junit5/

  官方文档:https://junit.org/junit5/docs/current/user-guide/

  中文翻译版:https://doczhcn.gitbook.io/junit5/

Junit5的构成

  JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage

  Junit Platform是在JVM上启动测试框架的基础,不仅支持Junit自制的测试引擎,其他测试引擎也都可以接入。

  JUnit Jupiter提供了JUnit5的新的编程模型,是JUnit5新特性的核心。

  JUnit Vintage: 由于JUint已经发展多年,为了照顾老的项目,JUnit Vintage提供了兼容JUnit4.x,Junit3.x的测试引擎。

导入junit5依赖

  gradle方式:

testCompile("org.junit.jupiter:junit-jupiter-api:${junitJupiterVersion}")
testRuntime("org.junit.jupiter:junit-jupiter-engine:${junitJupiterVersion}")

最简单的测试案例

  在方法上标注@Test注解,这个方法就是一个测试,测试方法内可以使用断言达到我们的测试效果

import static org.junit.jupiter.api.Assertions.assertEquals;
import org.junit.jupiter.api.Test;

class FirstJUnit5Tests {

    @Test
    void myFirstTest() {
        assertEquals(2, 1 + 1);
    }
}

常用注解

  全部注解:https://doczhcn.gitbook.io/junit5/index/index-2/annotations

标准测试类

import static org.junit.jupiter.api.Assertions.fail;

import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;

class StandardTests {

    @BeforeAll
    static void initAll() {
    }

    @BeforeEach
    void init() {
    }

    @Test
    void succeedingTest() {
    }

    @Test
    void failingTest() {
        fail("a failing test");
    }

    @Test
    @Disabled("for demonstration purposes")
    void skippedTest() {
        // not executed
    }

    @AfterEach
    void tearDown() {
    }

    @AfterAll
    static void tearDownAll() {
    }

}

断言

  断言用于比较我们期望的结果和程序实际运行的结果

References

  https://juejin.cn/search?query=junit5%E8%AF%A6%E8%A7%A3&type=0

  https://doczhcn.gitbook.io/junit5/

  https://blog.csdn.net/chenjxj123/article/details/124366094

  https://doczhcn.gitbook.io/junit5

标签:junit5,api,jupiter,import,org,Junit5,junit,详解
From: https://www.cnblogs.com/CNLayton/p/17001219.html

相关文章

  • H264码流中SPS PPS详解
    转载地址:https://zhuanlan.zhihu.com/p/278962391SPS和PPS从何处而来?2SPS和PPS中的每个参数起什么作用?3如何解析SDP中包含的H.264的SPS和PPS串?1客户端抓包在做......
  • Java中线程的6种状态详解
    java.lang.Thread.State枚举类中定义了六种线程的状态,可以调用线程Thread中的getState()方法获取当前线程的状态。publicenumState{NEW,RUNNABLE,......
  • B/S大文件上传详解及实例代码
    ​上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用ajax向后端发请求    1. 通过form表单向后端发送请求         <for......
  • 目标检测—Faster R-CNN详解
    简介FasterR-CNN是继R-CNN,FastR-CNN后基于Region-CNN的又一目标检测力作。FasterR-CNN发表于NIPS2015。即便是2015年的算法,在现在也仍然有着广泛的应用以及不俗的精度......
  • JavaScript大文件上传详解及实例代码
    ​以ASP.NETCoreWebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API,包括文件的上传和下载。 准备文件上传的API #region 文件上传 ......
  • C++中map用法详解
    Map是c++的一个标准容器,她提供了很好一对一的关系,在一些程序中建立一个map可以起到事半功倍的效果,总结了一些map基本简单实用的操作!1.map最基本的构造函数;map<string,......
  • Day07_05_分布式教程之分布式事务详解
    分布式事务详解一.分布式事务的概念随着分布式计算的发展,事务在分布式计算领域也得到了广泛的应用.在单机数据库中,我们很容易能够实现一套满足 ​​ACID​​ 特性的事......
  • Day10_08_消息队列之RabbitMQ消息可靠性传输 消息确认机制 死信队列详解及代码实现
    RabbitMQ消息可靠性传输消息确认机制死信队列详解及代码实现一.消息可靠传递的重要性我们在项目中使用RabbitMQ时,可能会遇到这样的问题:假如在一个订单系统中,用户付款......
  • Day10_09_消息队列之RabbitMQ消息可靠性详解
    RabbitMQ消息可靠性详解一.消息发送确认与消息接收确认(ACK)默认情况下如果一个Message被消费者正确接收则会被从Queue中移除.如果一个Queue没被任何消费者订阅消费,......
  • Day11_03_Redis教程之Redis服务器客户端安装配置及配置文件详解
    Redis服务器客户端安装配置及配置文件详解一.Redis的安装在ubuntu18.04下,可以直接通过命令安装.1.更新系统环境$sudoapt-getupdate#更新软件列表$sudoapt-getupgra......