Java单元测试工具:JUnit4(一)——概述及简单例子「建议收藏」

Java单元测试工具:JUnit4(一)——概述及简单例子「建议收藏」1.概述1.1什么是JUnit①JUnit是用于编写可复用测试集的简单框架,是xUnit的一个子集。xUnit是一套基于测试驱动开发的测试框架,有PythonUnit、CppUnit、JUnit等。②Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。③多数Java的开发环境都已经集成了JUnit作为单元测试的工具,比如Eclipse。

大家好,又见面了,我是你们的朋友全栈君。

(一)JUnit概述及一个简单例子

        看了慕课网的JUnit视频教程:
http://www.imooc.com/learn/356,总结笔记。

        这篇笔记记录JUnit的概述,以及一个快速入门的例子。

1.概述

1.1 什么是JUnit

        ①JUnit是用于编写可复用测试集的简单框架,是xUnit的一个子集。xUnit是一套基于测试驱动开发的测试框架,有PythonUnit、CppUnit、JUnit等。

        ②Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。

        ③多数Java的开发环境都已经集成了JUnit作为单元测试的工具,比如Eclipse。

1.2 为什么要使用测试工具

        ①测试框架可以帮助我们对编写的程序进行有目的地测试,帮助我们最大限度地避免代码中的bug,以保证系统的正确性和稳定性。
        ②很多人对自己写的代码,测试时就简单写main,然后sysout输出控制台观察结果。这样非常枯燥繁琐,不规范。缺点:测试方法不能一起运行,测试结果要程序猿自己观察才可以判断程序逻辑是否正确。
        ③JUnit的断言机制,可以直接将我们的预期结果和程序运行的结果进行一个比对,确保对结果的可预知性。

1.3 相关链接

JUnit官网:
http://junit.org/

2.简单例子快速入门

2.1 创建简单业务类

        使用Eclipse创建一个项目,导入JUnit相关包,因为eclipse集成了JUnit框架,所以可以直接右键项目,选择Build Path → 点击Add Libraries → 选择JUnit  → 点击Next,选择JUnit版本,然后Finish。(其实也可以下载jar包作为用户库来添加)
        编写一个简单的计算类:Calcuate类
package jtzen9.util;
/**
 * 实现加减乘除的简单计算类
 * @author Zen9
 *
 */
public class Calcuate {
	public int add(int a,int b){
		return a+b;
	}
	public int subtract(int a,int b){
		return a-b;
	}
	public int multiply(int a,int b){
		return a*b;
	}
	public int divide(int a,int b){
		return a/b;
	}
}

2.2 创建测试类

        ①右键Calcuate类,new 一个 JUnit Test Case:
Java单元测试工具:JUnit4(一)——概述及简单例子「建议收藏」


        ②弹出的对话框,暂时不做修改,直接点击next:(这样创建的测试类会在同一个包下,暂时不管测试类和业务类的隔离)
Java单元测试工具:JUnit4(一)——概述及简单例子「建议收藏」


        ③勾选要测试的方法,点击Finish:
Java单元测试工具:JUnit4(一)——概述及简单例子「建议收藏」




2.3 修改生成的测试类代码

        上面步骤生成的测试类只包含测试方法的模板,并没有具体的测试细节,修改成如下:(其中有比较多的重复代码,暂时不管;并将减法的测试设为有问题)
package jtzen9.util;
import org.junit.Assert;
import org.junit.Test;
public class CalcuateTest {
	Calcuate calcuate;

	@Test
	public void testAdd() {
		calcuate = new Calcuate();
		int result = calcuate.add(2, 3);
		Assert.assertEquals("加法有问题", 5, result);
		/*
		 * "加法有问题":期望值和实际值不一致时,显示的信息
		 * 5 :期望值
		 * result :实际值
		 */
	}

	@Test
	public void testSubtract() {
		calcuate = new Calcuate();
		int result = calcuate.subtract(12, 2); 
		Assert.assertEquals("减法有问题", 10000, result); //故意设置减法期望值为10000
	}

	@Test
	public void testMultiply() {
		calcuate = new Calcuate();
		int result = calcuate.multiply(2, 3);
		Assert.assertEquals("乘法有问题", 6, result);
	}

	@Test
	public void testDivide() {
		calcuate = new Calcuate();
		int result = calcuate.divide(6, 3);
		Assert.assertEquals("除法有问题", 2, result);
	}
}

2.4 运行结果

        右键测试类,选择Run As , JUnit Test,结果如下:

Java单元测试工具:JUnit4(一)——概述及简单例子「建议收藏」

        总共有4个测试方法,运行了4个方法;其中failures有1个,即有一个方法的输出结果跟我们的预期不一样。




版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/156941.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月8日 下午1:36
下一篇 2022年7月8日 下午1:46


相关推荐

  • SpringBoot 配置之: 阿里druid数据库连接池 com.alibaba.druid.pool.DruidDataSource 报红「建议收藏」

    SpringBoot 配置之: 阿里druid数据库连接池 com.alibaba.druid.pool.DruidDataSource 报红「建议收藏」第一步在idea中使用官方的创建项目的工具,创建一个新项目。第二步自己添加数据源配置但是”com.alibaba.druid.pool.DruidDataSource”报红。到pom.xml中添加依赖<properties>…<druid.version>1.1.14</druid.version>……

    2022年7月23日
    87
  • 基于LangChain的RAG与Agent智能体开发 – LangChain简介

    基于LangChain的RAG与Agent智能体开发 – LangChain简介

    2026年3月15日
    2
  • 小易的后花园

    小易的后花园这个博客运行一年多以来 感觉蛮好的 超过我当时的期望值 以此博客作为纪念 继续续写理性沉淀 小易的后花园 我想取名 小易的后花园 来源于两点 后 表示这是我个人背后的一个地方 从我的表面你是看不出有这个一个花园的 而这个地方对于我外在的表现却十分重要

    2026年3月18日
    1
  • vmware虚拟机怎么安装系统_虚拟机装系统

    vmware虚拟机怎么安装系统_虚拟机装系统‍虽然现在windowsxp已经被win7、win10等系统逐渐取代,不过在很多特殊情况下还需要到XP系统中进行测试。那么这个时候就可以通过安装虚拟机系统来解决问题。常用的虚拟机工具有VMwareWorkstation,下面具体介绍安装虚拟机系统ghostxpsp3的步骤。相关阅读:一、准备工作二、VMware安装虚拟机系统ghostxpsp3步骤图解1、打开VMwareWorkstat…

    2022年8月16日
    5
  • 新发的日常小技巧——Sublime插件安装教程(例:lua开发环境插件安装)

    新发的日常小技巧——Sublime插件安装教程(例:lua开发环境插件安装)文章目录一、前言二、关于PackageControl三、安装PackageControl1、办法1:通过命令行安装(需联网)2、办法2:直接拷贝插件包文件到InstalledPackages目录四、通过PackageControl安装插件(需联网)五、无网络环境下安装插件六、lua开发环境插件安装一、前言Sublime具有良好的扩展能力,具有非常多好用的扩展插件,本文我教大家如何给Sublime安装插件。二、关于PackageControl我们要给Sublime安装插件,就需要先安装Pac

    2022年6月24日
    41
  • CANoe常用操作(CANoe系列其一)

    CANoe常用操作(CANoe系列其一)CANoe 常用操作 CANoe 系列其一 摘要 1 CANoe 工程的新建 2 通过 Trace 工具查看交互的报文内容 3 通过 Logging 保存日志文件 4 创建 IG 发送报文 5 通过 Graphics 界面抓取信号波形 6 加载 cdd 文件 7 过滤报文 ID 的接收 8 其他摘要 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp CANoe 是德国 Vector 公司为汽车总线的开

    2026年3月26日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号