JUnit是一个开发源代码的Java测试框架,用在编写和运行可重复的测试脚本之上。他是单元测试框架体系xUnit的一个实例。JUnit框架功能强大,目前已成为Java单元测试的事实标准若是与Mock对象、HttpUnit、DBUnit等配合使用,基本上能知足平常测试要求。设计模式
JUnit特性:框架
1、可使测试代码与产品代码分开,这更有利于代码的打包和测试代码的管理。单元测试
2、针对某一个类的测试代码,以较少的改动即可以应用另外一个类的测试,JUnit提供了一个编写测试类的框架,使测试代码的编写更方便。测试
3、易于集成到程序中的构建过程当中,JUnit和Ant的结合还能够实施增量开发。ui
4、JUnit的源代码是公开的,故而能够进行二次开发。设计
5、JUnit具备很强的扩展性,能够方便的对JUnit进行扩展。对象
JUnit有七个包,核心包为Junit.framwork和junit.runner。framework包负责整个测试对象的构建。runner负责测试驱动。继承
JUnit四个重要类即其余组成:接口
1、TestCase抽象类用来定义测试中的固定方法,TestCase是Test接口的抽象实现,因为TestCase是一个抽象类,所以不能被实例化,只能被继承。开发
2、TestSuite是由几个TestCase或其余的TestSuite构成的。能够很容易构成一个树形测试,每一个测试都由持有另一些测试的TestSuite来构成。
3、TestResult负责收集TestCase所执行的结果,将结果分类,分为客户可预测的错误和没有预测的错误,他还将测试结果转发到TestListener处理。
4、TestRunner是客户对象调用的起点,它负责对整个测试过程进行跟踪。它可以显示测试结果,而且报告测试进度。
5、Assert类用来验证条件是否成立,当条件成立时,assert方法保持沉默,若条件不成立时就抛出异常。
6、Test接口用来测试和收集测试结果,Test接口采用了Composite设计模式,它是单独测试的用例,聚合的测试模式以及测试扩展的共同接口。
7、TestListener包含四个方法:addError(),addFailuer(),startTest(),endTest(),它是对测试结果的处理和对测试驱动过程的工做特征进行提取。