[Junit]单元测试工具Junit教程

JUnit5单元测试框架的使用教程与简单实例 JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。JUnit5旨在调整java8样式的编码,并且比JUnit4更强大和灵活。JUnit Jupiter附带了许多JUnit 4拥有的断言方法,并添加了一些可以很好地用于Java 8 lambdas的断言方法。 阅读详情

测试是开发过程中一个重要步骤,测试时使用的工具就极其重要。本文主要面向初学者,讲述单元测试工具Junit的基本用法。

主要内容:

  • 搭建Junit运行环境
  • 基本用法:测试类、测试方法
  • 常用的注解

搭建Junit环境

有两种方式:

  • 导入Jar的方式
  • 使用Maven的方式

导Jar包

  1. 在该项目下建立一个“lib”文件夹;
  2. 把junit-**.jar和hamcrest-core-**.jar复制到该文件夹下;
  3. 再选中junit.jar,“Build Path”,”Add to Build Path”,创建引用类库;如图:

导入坐标

Maven坐标:

<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-api</artifactId>
    <version>5.7.0</version>
    <scope>test</scope>
</dependency>

如何获取Jar的坐标:

  1. https://mvnrepository.com(如果访问较慢,使用科学上网即可解决!)
  2. 搜索想要的组件
  3. 复制坐标到pom.xml文件

用法

写测试类:

  1. 一般一个类对应一个测试类。如Tool.java和ToolTest.java
  2. 测试类与被测试类最好是放到同一个包中
  3. 测试类的名字为被测试类的名字加Test后缀

写测试方法:

  1. 一般一个方法对应一个单元测试方法。
  2. 测试方法的名字为test前缀加被测试方法的名字,如testAddPerson()。
  3. 单元测试方法上面要加上@Test注解(org.junit.Test)!
  4. 单元测试方法不能有参数,也不能有返回值(返回void)!测试的方法不能是静态的方法。

运行测试:

  1. 选中方法名 --> 右键 --> Run '测试方法名'  运行选中的测试方法
  2. 选中测试类类名 --> 右键 --> Run '测试类类名'  运行测试类中所有测试方法
  3. 选中模块名 --> 右键 --> Run 'All Tests'  运行模块中的所有测试类的所有测试方法

执行测试:

  • 测试那个方法,加上@Test注解,就把光标放在那个方法里,run as junit test;注意一定要在测试完毕后删除;因为这个测试注解可能会影响正常的代码执行;

  • 标准的Junit规范。由于功能代码不能与测试代码相混合,那么就应该把测试代码和功能代码分开

注解

如果测试一个方法的时候需要准备测试的环境或者是清理测试的环境,那么可以使用以下注解:

测试方法执行前后执行(Junit4.xxxx版本)

  1. @Before:用来修饰方法,该方法会在每一个测试方法执行之前执行一次。
  2. @After:用来修饰方法,该方法会在每一个测试方法执行之后执行一次。
  3. @BeforeClass:用来静态修饰方法,该方法会在所有测试方法之前执行一次。
  4. @AfterClass:用来静态修饰方法,该方法会在所有测试方法之后执行一次。

测试方法执行前后执行(Junit5.xxxx版本)

  1. @BeforeEach:用来修饰方法,该方法会在每一个测试方法执行之前执行一次。
  2. @AfterEach:用来修饰方法,该方法会在每一个测试方法执行之后执行一次。
  3. @BeforeAll:用来静态修饰方法,该方法会在所有测试方法之前执行一次。
  4. @AfterAll:用来静态修饰方法,该方法会在所有测试方法之后执行一次。
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
public class Demo {
	
	//准备测试的环境
	//@Before
	@BeforeClass
	public static void beforeRead(){
		System.out.println("准备测试环境成功...");
	}
	
	//读取文件数据,把文件数据都显示
	@Test  //当你测试这个方法的时候,就会自动调用@BeforeClass下的方法,执行完本方法后也会自动调用@AfterClass
	public void readFile() throws IOException{
		FileInputStream fileInputStream = new FileInputStream("F:\\a.txt");
		int content  = fileInputStream.read();
		System.out.println("内容:"+content);
	}
	
	
	@Test
	public void sort(){
		System.out.println("读取文件数据排序..");
	}

	//清理测试环境的方法
    //	@After 
	@AfterClass //执行所有的测试方法都会只调用一次;
	public static void afterRead(){
		System.out.println("清理测试环境..");
	}
}

MLX90640 热成像 STM32 MLX90640 热成像 阅读详情

相关推荐

深入解析MOSFET结电容与分布参数:Cgd、Cgs、Cds与Ciss、Crss、Coss的关系与应用

本文深入解析了MOSFET结电容Cgd、Cgs、Cds及其等效参数Ciss、Crss、Coss对开关性能的影响。文章详细阐述了米勒电容Cgd如何导致开关损耗与振荡,并提供了基于电容参数的高频电路选型、驱动设计及PCB布局优化等实战指南,帮助工程师解决开关电源与电机驱动中的常见问题。

weixin_29240711的博客 1279

IDEA中添加junit4的三种方法(详细步骤操作)

1、第一种方法 首先创建一个测试类,类的名称最好不要取Test,接下来写下一个注解@Test,此时会报错。 报错的原因是创建的工程项目没有导入Junit4依赖,具体查看是在左上角 file–>project structure 点击进来以后选择modules,再点击当前的项目day01,再点击dependencies,就可以看到当前模块的一些依赖库,此时是没有导入junit4的。 回到编写界面,点击@Test这一行,按下alt+enter,点击第一个。 点击ok 这样子Junit4就导入进

gakki_200的博客 4万+

Openwork 入门指南:开源 AI 桌面助手快速上手

Openwork是一款开源的AI桌面代理工具,提供类似Claude Cowork的免费替代方案。它支持本地运行,确保隐私安全,并能高效处理文件整理、文档读写等任务。支持多种AI模型,通过MIT许可完全免费。安装简单,仅需运行命令行或下载桌面版,需配置API Key后即可使用。操作直观,支持多步骤规划和权限控制,适合自动化重复工作。目前主要支持macOS,未来将扩展至Windows/Linux。建议从简单任务入手,逐步掌握这一高效的数字助手工具。

3802

JUnit单元测试使用教程(新手入门)

本篇文章主要在于,单元测试工具jUnit的简单认识及入门使用

sjs52406的博客 2291

Linux下搭建J-Link调试环境:OpenOCD+GDB实战指南

嵌入式开发中,调试器是连接开发主机与目标硬件的关键桥梁,其核心原理是通过标准协议(如JTAG/SWD)访问芯片内部的调试模块。GDB作为通用的调试客户端,通过远程协议与调试服务器通信,而OpenOCD则扮演了协议转换与硬件驱动的角色,实现了调试命令的翻译与执行。这种开源工具链的组合,为开发者提供了高度的定制化与自动化能力,尤其适合需要与持续集成流程深度结合的复杂项目。在实际应用中,针对特定芯片(如ARM7TDMI)进行正确的内存控制器与时钟初始化是成功调试的前提,这常常涉及对板级支持包的深入理解。本文以S3

weixin_29889665的博客 333

等保三级-MySQL 安全加固实战指南

本文详细介绍了MySQL数据库在等保三级要求下的安全加固实战指南,涵盖身份鉴别、访问控制、安全审计、网络传输安全、入侵防范和数据完整性等关键领域。通过具体配置示例和实战经验,帮助用户有效提升MySQL数据库的安全防护能力,满足等保三级合规要求。

weixin_29197835的博客 183

单元测试Junit使用与详解

当然了,最容易想到的一个方式,就是我们通过System.out来输出我们的结果,看看是不是满足我们的需求,但是项目中这些成千上万个方法,我们总不能在每一个方法中都去输出一遍嘛。在这里选择assertEquals(Object expected,Object actual),expected指的是期望得到的值,actual指实际返回的结果,如果期望值和实际结果不相等,就会抛异常,即断言失败。我们对add方法进行测试,代码如下。断言判断是否相等,这个方法里面可以又很多参数,一般根据我们的需要输入相应的参数。

熊與貓v 3142

Unity性能优化 - 动态图集

Unity 动态图集是 Unity 引擎中用于处理游戏纹理优化的一种技术。本文介绍了什么是动态图集,动态图集的优缺点,以及提供了一套完整的代码供大家参考。

qq_33808037的博客 4840

【软件测试】JUnit 单元测试 基础学习教程

单元测试是针对最小的功能单元编写测试代码- Java 程序最小的功能单元是方法单元测试就是针对单个 Java 方法的测试专门针对 Java 语言设计,使用广泛;JUnit 是事实上的标准单元测试框架。1、一个 TestCase 包含一组相关的测试方法;2、使用断言测试结果(注意浮点数 assertEquals 要指定 delta )3、每个测试方法必须完全独立;4、测试代码必须非常简单;5、不能为测试代码再编写测试6、测试需要覆盖各种输入条件,特别是边界条件。JUnit。

凤枝桠的博客 8143

保姆级教程:用海思PQTool搞定ISP图像调试,从参数读取到固件烧录全流程

本文提供海思PQTool的ISP图像调试全流程指南,从参数读取、实时调试到固件烧录,涵盖环境配置、核心功能解析、参数固化及生产部署。通过实战案例和避坑指南,帮助开发者高效提升图像质量,适用于海思开发板的ISP调试与优化。

weixin_30872337的博客 279

手把手安装GNN必备库 —— pytorch_geometric

PyG全称是Pytorch Geometric,它是一个基于Pytorch构建的库,可以帮助用户快速构建和训练自己的图神经网络模型。PyG中实现了很多先进(state of the art)的GNN模块,例如GCN、GraphSage、GAT、SGC、GIN等等。此外,PyG中还包含了大量的benchmark图数据集、丰富的图数据操作方法、支持多GPU。

m0_51339444的博客 2380

超级详细的Junit单元测试教程

如果你只会使用@Test来完成单元测试,那你是时候该深入一下了,其实知识点一点都不少!

奈何的人生 10万+

PCL 贪婪投影三角剖分算法【2025最新版】

本博客在学习PCL中的贪婪投影三角算法的基础上,实现了使用彩色点云重建彩色模型的应用案例。博客长期更新,最近一次更新时间为:2025年7月6日。

点云侠的博客 37万+

Java单元测试工具 Junit4入门使用教程

文章目录1.序言2.前期准备3.创建工程,添加包依赖4.JUnit代码实战演示4.1 实战第一步:4.2 实战第二步4.3 实战第三步4.4 实战结果分析5.JUnit4使用教程中级篇5.1 引入必要的包5.2 测试类的声明5.3 创建一个待测试的对象5.4 测试方法的声明5.5 编写一个简单的测试方法5.6 忽略未完成的测试方法5.7 Fixture用法6.JUnit4 使用教程高级篇6.1 测...

忆昔如风 1945

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

java入门-JUnit使用教程-eclipse的debug

一.JUnit使用教程 1.JUnit是什么? JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。[1] JUnit是由 Erich Gamma 和 Kent ...

深思 779

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

使用JUnit和Mockito进行Spring单元测试实战教程

使用JUnit和Mockito进行Spring单元测试实战教程 项目介绍 本教程基于GitHub上的开源项目 https://github.com/in28minutes/spring-unit-testing-with-junit-and-mockito.git,专注于展示如何在Spring应用程序中利用JUnit和Mockito来编写高效、可靠的单元测试。项目旨在教育开发者掌握单元测试的最佳...

gitblog_00785的博客 696

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

单元测试利器 JUnit 4

URL: http://www.ibm.com/developerworks/cn/java/j-lo-junit4/index.html?S_TACT=105AGX52&S_CMP=techcsdn 推荐 JUnit Recipes - J.B.Rainsberger,很详细的一本书。介绍了很多scenarios,实用。 http://www.junit.org/ http://w

luke_wang的专栏 508

【Java.JUnit】JUnit使用教程

转自: Junit使用教程(一) Junit使用教程(二) Junit使用教程(三) Junit使用教程(四)

王晓斌的专栏 1327

Eclipse单元测试Android编程,在Eclipse上基于JUnit进行Android单元测试

在本教程中,您将学习如何使用Eclipse创建Android JUnit测试项目,创建自动化单元测试并在各种条件下运行它们。预置条件Android基础能使用Eclipse和 Android SDK之类的工具。代码下载:https://simple-calc-unit-testing.googlecode.com/files/FullCodeDownload.zip需要FQ,如果不能FQ像看源码,请...

weixin_39731845的博客 216

JUnit教程

单元测试利器 JUnit 4

鸟哥哥的专栏 1054

Java学习路线:JUnit单元测试

当项目十分庞大时,如果想测试一个很小的功能,都要启动整个项目来测试,会很浪费时间。那能否将某个小功能单独拆出来进行测试呢?这就是单元测试的作用。而JUnit就是一个常用的单元测试工具。

LUwantAC的博客 864

Java - Junit单元测试框架

简介 Junit : http://junit.org/ JUnit是一个开放源代码的Java语言单元测试框架,用于编写和运行可重复的测试。 多数Java的开发环境都已经集成了JUnit作为单元测试的工具。 JUnit包括以下特性: 用于测试期望结果的断言(Assertion); 用于共享共同测试数据的测试工具; 用于方便的组织和运行测试的测试套件; 图形和文本的测试运行器; 极限编程与重构 ...

weixin_34032779的博客 170

Junit教程

1.JUnitEclipse教程:http://www.vogella.de/articles/JUnit/article.html2.JUnit4.xTutorials:http://www.mkyong.com/tutorials/junit-tutorials/ 转载于:https://www.cnblogs.com/kenkofox/archive/2010/12/09/1901...

weixin_30325971的博客 86

在Eclipse中使用JUnit4进行单元测试(图文教程一)

在Eclipse中使用JUnit4进行单元测试     单元测试,JUnit4。    这两个有什么关系呢?这就好比(草)单元测试和(割草机)。用这个JUnit4工具去辅助我们进行测试。其实不理解这个也没关系,听多了见多了用多了,自然而然地就会懂了。    有人可能会想,那我直接自己编写个测试的方法不就可以了。例如写个System.out.print输出,看看是否与我们预期的相等。...

weixin_30484739的博客 118

软件测试工具——Junit单元测试

JUnit是一个开源的Java语言的单元测试框架,专门针对Java设计,使用最广泛。JUnit是事实上的单元测试的标准框架,任何Java开发者都应当学习并使用JUnit编写单元测试。使用JUnit编写单元测试的好处在于,我们可以非常简单地组织测试代码,并随时运行它们,JUnit就会给出成功的测试和失败的测试,还可以生成测试报告,不仅包含测试的成功率,还可以统计测试的代码覆盖率,即被测试的代码本身有多少经过了测试。对于高质量的代码来说,测试覆盖率应该在80%以上。

m0_62056231的博客 1431

单元测试及其工具Junit

下载完以后解压到你喜欢的目录下,假设是JUNIT_HOME,然后将JUNIT_HOME下的junit.jar包加到你的系统的CLASSPATH环境变量中,对于IDE环境,对于需要用到的junit的项目增加到lib中,其设置不同的IDE有不同的设置,这里不多讲。单元测试是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确,通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。线上错误的发现,排查问题,修复,测试环境验证到上线的周期一般半天起步。

qq_53844452的博客 3288
上一篇: 【线性表】处理线性表元素的算法思想
下一篇: [Java]日志实战:JCL,slf4j;JUL,logback,log4j,log4j2
ALGO阿狗
博客等级 码龄9年 64粉丝 149原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值