JUnit是一个开发源代码的Java测试框架用于编写和运行可重复的测试他是用于单元测试框架体系xUnit的一个实例(用于java语言)它包括以下特性
用于测试期望结果的断言(Assertion)
用于共享共同测试数据的测试工具
用于方便的组织和运行测试的测试套件
图形和文本的测试运行器
JUnit最初是由Erich Gamma(GoF之一)和Kent Beck(xp和refactor的先驱之一)编写的需要说明的是JUnit一般是用来进行单元测试的因此需要了解被测试代码的内部结构(即所谓的白盒测试)另外junit是在xp编程和重构(refactor)中被极力推荐使用的工具因为在实现自动单元测试的情况下可以大大的提高开发的效率但是实际上编写测试代码也是需要耗费很多的时间和精力的那么使用这个东东好处到底在哪里呢?笔者认为是这样的
对于xp编程而言要求在编写代码之前先写测试这样可以强制你在写代码之前好好的思考代码(方法)的功能和逻辑否则编写的代码很不稳定那么你需要同时维护测试代码和实际代码这个工作量就会大大增加因此在xp编程中基本过程是这样的构思-》编写测试代码-》编写代码-》测试而且编写测试和编写代码都是增量式的写一点测一点在编写以后的代码中如果发现问题可以较块的追蹤到问题的原因减小回归错误的纠错难度
对于重构而言其好处和xp编程中是类似的因为重构也是要求改一点测一点减少回归错误造成的时间消耗
对于非以上两种情况我们在开发的时候使用junit写一些适当的测试也是有必要的因为一般我们也是需要编写测试的代码的可能原来不是使用的junit如果使用junit而且针对接口(方法)编写测试代码会减少以后的维护工作例如以后对方法内部的修改(这个就是相当于重构的工作了)另外就是因为junit有断言功能如果测试结果不通过会告诉我们那个测试不通过为什么而如果是想以前的一般做法是写一些测试代码看其输出结果然后再由自己来判断结果使用正确使用junit的好处就是这个结果是否正确的判断是它来完成的我们只需要看看它告诉我们结果是否正确就可以了在一般情况下会大大提高效率
安装JUnit
安装很简单先到以下地址下载一个最新的zip包 http://downloadsourceforgenet/junit/
下载完以后解压缩到你喜欢的目录下假设是JUNIT_HOME然后将JUNIT_HOME下的junitjar包加到你的系统的CLASSPATH环境变量中对于IDE环境对于需要用到的junit的项目增加到lib中其设置不同的IDE有不同的设置这里不多讲
如何使用JUnit写测试?
最简单的范例如下
创建一个TestCase的子类
package junitfaq;
import javautil*;
import junitframework*;
public class SimpleTest extends TestCase {
public SimpleTest(String name) {
super(name);
}
[] [] []