首先將JUnit插件安裝到Eclipse或myeclipse裏面,編寫完一個模塊或者實體類的時候,直接右擊,new一個JUnit項目,選擇你想測試的實體類(模塊),而後會自動生成一個類,這個類,咱們將其叫作驅動類,是爲了在其中加載測試數據用的(這個類裏再也不寫main方法)。具體操做請參見陳磊興先生的博客,寫的很詳細。http://blog.csdn.net/chenleixing/article/details/44259453數組
下面,我也介紹一個簡單的JUnit測試例子,來練練手。eclipse
題目:測試
1) 編寫判斷三角形類型的類Triangle及方法,編寫InvalidTriangleException異常類,爲Triangle類編寫測試類、簡單測試方法、異常測試方法。this
需求:實現一個判斷三角形類型的方法..net
public class TriangleException extends Exception { 插件
public TriangleException() {} blog
public TriangleException(String message) { ip
super(message); 博客
}it
}
做答代碼:已省略導包,異常測試。
public class Triangle {
private double a;
private double b;
private double c;
private String type;
public Triangle(double a, double b, double c) {
super();
this.a = a;
this.b = b;
this.c = c;
}
public boolean IsTriangle(){//判斷三角形
if(a+b<=c || a+c<=b || b+c<=a){
return false;
}
else{
return true;
}
}
public String cal_type(){
if(IsTriangle()){
if(a==b && a==c){
type = "等邊三角形";
}
else
if(a==b || b==c || a==c){
type = "等腰三角形";
}
else{
type = "普通三角形";
}
//若是能構成直角三角形 覆蓋type
if(a*a+b*b==c*c){
type = "直角三角形";
}
return type;
}
else
return "這不是三角形";//可在此拋出異常
}
}
JUnit測試類
public class TriangleTest {
@Test
public void test1() {
Triangle test1 = new Triangle(3,3,3);
String rs = test1.cal_type();
System.out.println(rs);
assertTrue(rs == "等邊三角形");
}
@Test
public void test2() {
Triangle test2 = new Triangle(3,7,9);
String rs = test2.cal_type();
System.out.println(rs);
assertTrue(rs == "普通三角形");
}
@Test
public void test3() {
Triangle test3 = new Triangle(1,2,3);
String rs = test3.cal_type();
System.out.println(rs);
assertTrue(rs == "這不是三角形");
}
@Test
public void test4() {
Triangle test4 = new Triangle(3,4,5);
String rs = test4.cal_type();
System.out.println(rs);
assertTrue(rs == "直角三角形");
}
@Test
public void test5() {
Triangle test5 = new Triangle(3,4,3);
String rs = test5.cal_type();
System.out.println(rs);
assertTrue(rs == "等腰三角形");
}
}
運行:
左邊是綠色的,表示該測試用例驗證成功。
固然,按照以上這種作法,每添加一個測試用例,就得寫一個test方法。事實上,咱們能夠重寫JUnit測試驅動類的構造方法(可自動生成),使其爲有參構造,咱們以集合的方式往驅動類裏面傳送數組參數,達到減小代碼量的目的。