Junit是由 Erich Gamma 和 Kent Beck 編寫的一個(gè)回歸測(cè)試框架(regression testing framework)。Junit是一套框架,繼承TestCase類,就可以用Junit進(jìn)行自動(dòng)測(cè)試了。
1 junit特性
junit
Junit是一個(gè)開放源代碼的Java測(cè)試框架,用于編寫和運(yùn)行可重復(fù)的測(cè)試。他是用于單元測(cè)試框架體系xUnit的一個(gè)實(shí)例(用于java語言)。它包括以下特性:
① 用于測(cè)試期望結(jié)果的斷言(Assertion)
② 用于共享共同測(cè)試數(shù)據(jù)的測(cè)試工具
③ 用于方便的組織和運(yùn)行測(cè)試的測(cè)試套件
④ 圖形和文本的測(cè)試運(yùn)行器
右擊要使用的junit的項(xiàng)目,點(diǎn)擊properties—java bulid path-libraries,點(diǎn)擊Add External JARs,加上JUNIT包。
3 用法
- 創(chuàng)建,從junit.framework.TestCase派生nuit test需要的test case.
- 書寫測(cè)試方法
- 編譯 書寫玩test case后,編譯所寫的test case類
- 運(yùn)行,啟動(dòng)junit test runnner 來運(yùn)行這個(gè)test case。
實(shí)例代碼:
package com.dr.test;
import java.util.List;
import junit.framework.TestCase;
import com.dr.dao.StudentDao;
import com.dr.dao.impl.StudentDaoImpl;
import com.dr.vo.Student;
public class StudentDaoImplTest extends TestCase{
StudentDao dao;
protected void setUp() throws Exception{
dao=new StudentDaoImpl();
}
protected void tearDown() throws Exception{
}
public void testAdd(){
Student stu=new Student();
stu.setName("ling");
stu.setAge(1);
stu.setEmail("ling@126.com");
dao.addStudent(stu);
}
public void testListStudent(){
List<Student> list=dao.getStudentList();
System.out.println(list.size());
}
}
Junit中的兩個(gè)函數(shù):setUp與tearDown,是junit framework中提供初始化金額反初始化每個(gè)測(cè)試方法的。setUp在每個(gè)測(cè)試方法調(diào)用前被調(diào)用,負(fù)責(zé)初始化測(cè)試方法所需要的測(cè)試環(huán)境;teardown在每個(gè)測(cè)試方法被調(diào)用之后被調(diào)用,負(fù)責(zé)撤銷測(cè)試環(huán)境。
測(cè)試結(jié)果:
在JUnit的窗口中顯示了一個(gè)綠條,綠條證明測(cè)試成功。