JUnit4笔记一——概述及一个简单例子

1、JUnit - 概述

1.1 什么是JUnit

​ 1)JUnit是用于编写可复用测试集的简单框架,是xUnit的一个子集。xUnit是一套基于测试驱动开发的测试框架,有PythonUnit、CppUnit、JUnit等。
​ 2)Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。

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

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

1.3 相关链接

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

JUnit的jar包下载:https://github.com/junit-team/junit/wiki/Download-and-Install

慕课网的JUnit视频教程:http://www.imooc.com/learn/356

2、一个简单的入门例子

2.1 创建简单业务类

​ 使用Eclipse创建一个Java项目,导入JUnit相关包,因为eclipse集成了JUnit框架,所以可以直接右键项目,选择Build Path → 点击Add Libraries → 选择JUnit → 点击Next,选择JUnit版本,然后Finish。(或者下载jar包然后作为用户库导入)

创建类Calculate,内容如下:

package com.fzhiy.junit01;

/**
 *   实现加减乘除的简单计算类
 * @author yufeng
 */
public class Calculate {
	
	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 创建测试类

1)右击Calculate类,New -> Other,在导航栏中输入junit,选择Junit Test Case:
在这里插入图片描述
2)弹出的对话框,暂时不做修改,直接点击next:(这样创建的测试类会在同一个包下,暂时不管测试类和业务类的隔离)
在这里插入图片描述
3)勾选要测试的方法,点击Finish:
在这里插入图片描述

2.3 修改生成的测试类代码

​ 上面步骤生成的测试类只包含测试方法的模板,并没有具体的测试细节,修改成如下:(其中有比较多的重复代码,暂时不管;并将减法的测试设为有问题)

package com.fzhiy.junit01;

import org.junit.Test;

import junit.framework.TestCase;

/**
 * 
 * @author yufeng
 */
public class CalculateTest {
	
	private Calculate calculate = new Calculate();

	/**
	 * Test method for {@link com.fzhiy.junit01.Calculate#add(int, int)}.
	 */
	@Test
	public void testAdd() {
		int result =  calculate.add(2, 3);
		TestCase.assertEquals("加法有问题", 5, result);
		/**
		 * "加法有问题":期望值和实际值不一致时,显示的信息
		 * 5 :期望值
		 * result :实际值
		 */
	}

	/**
	 * Test method for {@link com.fzhiy.junit01.Calculate#subtract(int, int)}.
	 */
	@Test
	public void testSubtract() {
		int result = calculate.subtract(12, 2);
		TestCase.assertEquals("减法有问题", 1000, result);
	}

	/**
	 * Test method for {@link com.fzhiy.junit01.Calculate#multiply(int, int)}.
	 */
	@Test
	public void testMultiply() {
		int result = calculate.multiply(2, 3);
		TestCase.assertEquals("乘法有问题", 6, result);
	}

	/**
	 * Test method for {@link com.fzhiy.junit01.Calculate#divide(int, int)}.
	 */
	@Test
	public void testDivide() {
		int result = calculate.divide(6, 2);
		TestCase.assertEquals("除法有问题", 3, result);
	}

}

2.4 运行结果

​ 右键测试类,选择Run As , JUnit Test,结果如下:
在这里插入图片描述
总共有4个测试方法,运行了4个方法;其中failures有1个,即有一个方法的输出结果跟我们的预期不一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值