junit测试框架
一、简介
JUnit是一款由Erich Gamma(《设计模式》的作者)和Kent Beck(极限编程的提出者)编写的开源的回归测试框架,供Java编码人员做单元测试之用。目前本人安装的JDK1.8和Eclipse 4.4 (版本代号 Luna)没有集成JUnit,因此需要下载JUnit测试框架的jar包。
二、将JUnit jar包导入eclipse项目
1、下载JUnit包。网上有很多资源可以下载,选择最新版本即可,如:junit-4.9b4.jar
2、打开eclipse ,新建项目,在建好的项目名称上单击鼠标右键,选择build path-->Config build path,在properties for Test窗口中左边选择Java Build Path,右边选择Libraries, 再点击Add External Jars ,找到你下载的那个JUnit包,点击打开,然后点击OK,就将你下载的junit-4.9b4.jar导入你的项目中了。如下图:
3、新建一个测试类,导入import org.junit.*;包,在需要做单元测试的方法前面加上@Test标志就可以了,注意测试类不能再添加main方法。如上图所示。
三、junit单元测试的应用案例
1、用@Test测试编写的单元是否正常
③就会出现一条绿色长带④,绿条上面有运行个数,错误个数和失败个数的提示⑤。当然,运行结果显示在Console窗口中⑥,如下图:
2、有时候我们还想在测试某个方法前先进行某些数据的初始化,测试完成后再释放资源或还原数据,这时候可以加入@Before进行初始化,加入@After释放资源或还原数据。
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class MyTest {
private Person p;
@After
// 总是最后运行,可以用来释放资源或还原数据
public void ReleaseResources() {
p = null;
System.out.println("还原数据或释放资源");
}
@Test
public void view() {
p.show();
}
@Before
// 总是先运行,可以用来初始化数据
public void initialize() {
this.p = new Person("德艺双馨", 25);
System.out.println("初始化数据");
}
}
运行结果:
初始化数据
德艺双馨 : 25
还原数据或释放资源
@Before总是在@Test之前执行,@After总是在@Test之后执行,而不管它们的代码顺序如何。
3、我们测试代码的时候也会经常想知道某些方法的运行结果是否符合期望,这时候可以用Assert的assertEquals检验返回值是否符合期望值,如下图:
Assert.assertEquals方法有很多,但基本都是各种类型参数的变换以及断言结果是否符合期望,如果不符合期望那么测试就不通过,导航栏就会出现红带,如下图: