02.Eclipse中使用Junit进行单元测试

Eclipse是Java的集成开发环境,提供了Junit的集成。本节通过一个速成教程来使用Junit,其中的一些内容先不需要深究,以后会说明。

为项目添加Junit依赖

新建Java项目,项目上右键,选择Properties ,切换到Libraries标签,点击**Add Library…**按钮。

在新打开的界面选择Junit,点击**Next >**按钮

在新打开的界面选择Junit的版本,点击Finish按钮

此时返回Properties界面,显示如下,点击Ok关闭Properties界面。

新建Java代码

新建Java类,内容如下:

package org.hibiscus.utils;

/**
 * 用于Junit演示的类
 * @author Cloud
 */
public class MathDemo {

	/**
	 * int加法运算
	 * @param a
	 * @param b
	 * @return
	 */
	public int add(int a,int b){
		return a + b;
	}
	
	/**
	 * int减法运算
	 * @param a
	 * @param b
	 * @return
	 */
	public int sub(int a,int b ){
		return a - b;
	}
	
}

新建Junit测试代码

为了区分测试代码,新建一个源代码包Junit-src。

在新建的源代码包上右键,选择new–>other…,展开Java节点,Junit节点,选择Junit Test Case(也可以在Wizards输入框中输入Junit过滤),点击Next >

在新打开的界面中添加如下内容后点击Next >

在新的界面中选择源代码中需要测试的方法,如下:

点击Finish

此时,项目结构如下:

在新建的MathDemoTest中修改测试类如下:

package org.hibiscus.utils.test;

import static org.junit.Assert.*;

import org.hibiscus.utils.MathDemo;
import org.junit.Test;

/**
 * MathDemo测试类
 * @author Cloud
 */
public class MathDemoTest {

	/**
	 * Add方法测试类
	 */
	@Test
	public void testAdd() {
		MathDemo demo = new MathDemo();
		assertEquals(3,demo.add(1,2));
	}

	/**
	 * sub方法测试类
	 */
	@Test
	public void testSub() {
		MathDemo demo = new MathDemo();
		assertEquals(1,demo.sub(2,1));
	}
}

注:

上面的代码中 assertEquals方法接收两个参数,第一个值为期望值,第二个值为运算结果

运行测试代码

选中新建的MathDemoTest右键,选择Run As–>Junit Test

此时,Eclipse自动打开Junit测试结果界面,如下:

其中,Runs为测试的数量,Erros为错误数量,Failures为测试未通过的数量。

失败的测试

修改测试方法testAdd中的期望值,重新运行Junit Test,结果如下:

选中失败的测试记录,下方的会显示失败的原因:

以上就是一个简单的Junit单元测试的示例!

Junit4.x与Junit3.x测试方法的差别

Junit4.x使用了Java5.0的注释(annotation)技术,在执行测试时,Junit顺序执行标注为@Test的方法

Junit3.x使用反射技术,在执行测试时,Junit顺序执行以test开头的方法

所以,Junit3.x的测试方法必须以test开头,而Junit4.x的方法必须添加@Test注释