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注释