首页 > 编程语言 >Java Junit单元测试(基础篇)

Java Junit单元测试(基础篇)

时间:2023-11-14 22:34:37浏览次数:31  
标签:Java void 单元测试 public 测试 Junit 测试方法

什么是单元测试? 

单元测试就是针对最小的功能单元编写测试代码,Java程序最小的功能单元是方法,因此,单元测试就是针对Java方法的测试,进而检查方法的正确性

目前测试方法是怎么进行的,存在什么问题?

1、只有一个main方法,如果一个方法的测试失败了,其他方法测试会受到影响

2、无法得到测试的结果报告,需要程序员自己去观察测试是否成功

3、无法实现自动化测试

Junit单元测试框架

1、Junit是使用Java语言实现的单元测试框架,它是开源的,Java开发者都应当学习并使用Junit编写单元测试

2、此外,几乎所有的IDE工具都集成了Junit,这样我们就可以直接在IDE中编写并运行Junit测试,Junit目前最新版本是5

Junit优点

1、Junit可以灵活的选择执行哪些测试方法,可以一键执行全部测试方法

2、Junit可以生成全部方法的测试报告

3、单元测试中的某个方法测试失败了,不会影响其他测试方法的测试

单元测试快速入门 :

1、将Junit的jar包导入到项目中,idea通常整合好了Junit框架,一般不需要导入;

如果IDEA没有整合好,需要自己手动导入Junit的jar包到模块,手动下载并添加JUnit库:

  • 访问JUnit的官方网站:JUnit 5。
  • 下载JUnit的JAR文件(通常是junit-platform-console-standalone.jar)。
  • 将下载的JAR文件添加到您的项目中的类路径中

2、编写基本测试方法:该测试方法必须是公共的无参数无返回值的非静态方法

import org.junit.Test;
 
public class Tests {
    public void test() {
        System.out.println("测试1");
    }
}

3、常见Junit注解

@test

@Test注解用于标识测试方法。JUnit将执行所有带有@Test注解的方法,并报告测试结果

import org.junit.Test;
 
public class Tests {
    @Test
    public void test() {
        System.out.println("测试1");
    }
}
@Before@After
@Before@After注解用于在测试方法之前和之后执行一些设置或清理工作。这对于准备测试环境和资源的初始化非常有用
@Before
public void setUp() {
    // 执行测试前的准备工作
}
 
@After
public void tearDown() {
    // 执行测试后的清理工作
}

@BeforeEach@AfterEach

@BeforeEach@AfterEach注解与@Before@After类似,但它们在每个测试方法之前和之后执行,而不是在测试类级别执行

@BeforeEach
public void init() {
    // 在每个测试方法前执行初始化
}
 
@AfterEach
public void cleanup() {
    // 在每个测试方法后执行清理工作
}
@Disabled

@Disabled注解用于禁用测试方法。被标记为@Disabled的测试方法不会被执行

@Disabled
@Test
public void disabledTest() {
    // 这个测试方法被禁用
}

 

标签:Java,void,单元测试,public,测试,Junit,测试方法
From: https://www.cnblogs.com/xy0713/p/17832757.html

相关文章

  • Java基础知识回顾10-代理模式
    一、简介代理模式是为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介作用。抽象角色:通过接口或抽象类声明真实角色实现的业务方法。代理角色:实现抽象角色,是真实角色的代理,通过......
  • Java集合—HashMap
    HashMap简介HashMap是一个散列表,它存储的内容是键值对(key-value)映射。HashMap实现了Map接口,根据键的HashCode值存储数据,具有很快的访问速度,最多允许一条记录的键为null,不支持线程同步。HashMap是无序的,即不会记录插入的顺序。HashMap继承于AbstractMap,实现了Map、Clone......
  • java 面向对象进阶 static
    1.工具类packagenet.elaina.a02staticdemo2;publicclassArrayUtil{//私有化构造方法//目的:为了不让外界创建他的对象privateArrayUtil(){}//需要定义为静态的,方便调用publicstaticStringprintArr(int[]arr){StringB......
  • JavaScript知识点
    JavaScript中的虚值constfalsyValues=["",0,null,undefined,NaN,false];简单的来说虚值就是是在转换为布尔值时变为false的值。如何检查值是否虚值使用Boolean函数或者!!运算符。usestrict"usestrict”是ES5特性,它使我们的代码在函数或整个脚本中处于严格模式。严格模式帮助......
  • 一个常见的 JavaScript 解构陷阱
    在日常的JavaScript编码中,我们经常使用解构语法来提取对象中的属性。假设我们有一个名为fetchResult的对象,代表从接口返回的数据,其中包含一个字段名为data。constfetchResult={data:null};在提取data字段时,为了避免接口未返回该字段而导致的问题,我们常常会使用......
  • JavaDoc生成文档(也就是文档注释)
    一、JavaDoc1.javadoc命令是用来生成自己API文档的2.参数信息@author作者名@version版本号@since指明需要最早使用的jdk版本@param参数名@return返回值情况@throws异常抛出情况 ......
  • java 使用documents4j将word转pdf
    documents4j简介document4j是一个用来进行文档格式转换的Java工具库,它通过借助本机中支持指定文件格式到目标文件格式转换的应用,来实现整个转换的过程。document4j实现了MicrosoftWord、Excel的适配功能,可以将docx文件转换为pdf文件,并且在这个过程中不会出现非微软文件转换出......
  • Java登陆第六天——SQL之约束
    约束约束用于确保数据库的数据满足特定的规则,多个约束可以作用于一个字段上。在mysql中,约束一般有:primarykey(主键)notnull(非空)unique(唯一)primarykey(主键)主键是唯一标识每一行的列(行也叫字段)。主键拥有以下特性:两种指定方式:创建表时指定:字段名字段类型pr......
  • Java -- Stream流用法
    1.前言流是Java8API添加的一个新的抽象,称为流Stream,以一种声明性方式处理数据集合,侧重对于源数据计算能力的封装,并且支持序列与并行两种操作方式。Stream流是从支持数据处理操作的源生成的元素序列,源可以是数组、文件、集合、函数。流不是集合元素,它不是数据结构并不保存数据......
  • JavaWeb--Servlet执行流程&生命周期
    Servlet的执行流程 Servlet生命周期 1、初始化使用了init()方法,只调用一次。2、提供服务使用service()方法(1)、调用时机:servlet被访问时,调用该方法(2)、调用次数:每一次servlet被访问就调用一次 3、服务中止时使用destory()方法,servlet对象被销毁调用时机:内存释放或者服务关闭的......