新手入門JUnit單元測試

  首先將JUnit插件安裝到Eclipse或myeclipse裏面,編寫完一個模塊或者實體類的時候,直接右擊,new一個JUnit項目,選擇你想測試的實體類(模塊),而後會自動生成一個類,這個類,咱們將其叫作驅動類,是爲了在其中加載測試數據用的(這個類裏再也不寫main方法)。具體操做請參見陳磊興先生的博客,寫的很詳細。http://blog.csdn.net/chenleixing/article/details/44259453數組

  下面,我也介紹一個簡單的JUnit測試例子,來練練手。eclipse

  題目:測試

  1)    編寫判斷三角形類型的類Triangle及方法,編寫InvalidTriangleException異常類,爲Triangle類編寫測試類、簡單測試方法、異常測試方法this

  需求:實現一個判斷三角形類型的方法..net

  1. 輸入:三角形的三條邊(要求:三個整型數)。
  2. 輸出:三角形的類型(要求:識別等邊三角形、等腰三角形、直角三角形和普通三角形)。
  3. 異常:輸入三條邊不能構成三角形時,拋出NotTriangleException,該異常類代碼以下:

  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測試驅動類的構造方法(可自動生成),使其爲有參構造,咱們以集合的方式往驅動類裏面傳送數組參數,達到減小代碼量的目的。

相關文章
相關標籤/搜索