Junit测试框架是由Erich Gamma和Kent Back编写的回归测试框架,用在软件测试的单元测试阶段,即Java对象类的功能测试,不能用于系统测试。Junit本质上是一套框架,它继承TestCase类,Junit的开发者制定了一系列的框架,Java程序员根据这些框架编写程序的测试代码,就可以实现Junit的自动测试。
单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义。单元测试一般针对程序代码进行测试,这决定了其测试工具和特定的编程语言密切相关,所以单元测试工具基本是相对不同的编程语言而存在。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
Junit有7个包它的核心包:junit.framework junit.runner 。第一个是负责整个测试对象的构建,第二个是负责测试驱动。它有几个重要的类和接口。包括TestSuite TestCase TestRunner Test TestListener Assert。
(1)Assert是用来验证条件是否成立,当条件成立的时候,保持沉默,条件不成立的时候,抛出异常。
(2)Test接口用来测试和收集测试的结果,采用设计模式它是单独测试用例,聚合的测试模式及扩展的共同接口。
(3)TestCase抽象类用来定义测试中固定的方法。
(4)TestSuite是由几个TestCase或其他的TestSuite构成。
(5)TestResult负责收集TestCase所执行的结果,它是将结果分类,分为客户可预测的错误还有没有预测的错误。
(6)TestRunner是客户对象调用的起点,它是负责对整个测试过程中进行测试追踪,能够显示测试结果并且显示测试的进度。
(7) TestListener是对测试结果的处理和对测试驱动过程中的工作特征进去提取。
JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。 JUnit有它自己的JUnit扩展生态圈。多数Java的开发环境都已经集成了JUnit作为单元测试的工具。