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个,即有一个方法的输出结果跟我们的预期不一样。




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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 中文转拼音【真正的完整版】 拼音 驼峰命名专用

    中文转拼音【真正的完整版】 拼音 驼峰命名专用把下面的代码复制了,在桌面建一个后缀为“.html”格式的文件,如:“拼音.html”,打开 拼音.html,Ctrl+V,Ctrl+S,关闭,再打开<!DOCTYPEhtml><htmllang="cn"><head><metacharset="UTF-8"><title&gt

  • JS中判断数组中是否包含某个元素indexof兼容性兼容性

    JS中判断数组中是否包含某个元素indexof兼容性兼容性1.前几天写了一个JS游戏,其中,判断数组中是否包含某个元素,开始使用如下方法判断if(appearAnimals.indexOf(randIndex)==-1){}目前主流的浏览器都能正常显示,但是遇到IE9以下版本就不行,通过逐行排查,才发现是indexOf的兼容性问题。IE9以前的版本都不支持此方法,现在写一个兼容的方法如下:if(!Array.indexOf){

    2022年10月19日
  • 面向对象之封装

    封装封装的定义隐藏对象的属性和实现细节,仅对外提供公共访问方式。封装的好处1.将变化隔离;2.便于使用;3.提高复用性;4.提高安全性;封装的原则1.将不需要对外提供的内容

  • MyEclipse中安装SVN插件[通俗易懂]

    MyEclipse中安装SVN插件[通俗易懂]一、SVN插件的安装步骤1、打开MyEclipse软件,选择顶部的菜单栏中的“Help”—->“Installfromsite…”,出现以下弹窗2、点击右上角的“Add…”,填写SVN仓库信息,然后点击“OK”在Name后面填写“svn”在Location后输入“http://subclipse.tigris.org/update_1.10.x”…

  • Response ContentType 详细列表

    Response ContentType 详细列表不同的ContentType会影响客户端所看到的效果.默认的ContentType为text/html也就是网页格式.代码如:显示的为网页,而则会显示html原代码.以下为一些常用的ContentTypeGIFimagesJPEGimagesTIFFimages

  • pycharm代码运行快捷键_pycharm调试debug入门

    pycharm代码运行快捷键_pycharm调试debug入门1.eclipse配置的debug快捷键1.showexecutionpoint(alt+F10)显示当前所有断点2.stepover(F6)单步调试。若函数A内存在子函数a时,不会进入子函数a内执行单步调试,而是把子函数a当作一个整体,一步执行3.stepinto(F5)单步调试。若函数A内存在子函数a时,会进入子函数a内执行单步调试。4.stepintomycode(Alt+Shift+F7)执行下一行但忽略libraries(导入库的语句)5.force

发表回复

您的电子邮箱地址不会被公开。

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