第一次實驗 Junit簡單test三角形的小程序


  1 使用Junit首先要導入兩個jar包,分別是hamcrest-all-1.3.jar和junit-4.12.jar。下載后,導入即可。

  2 安裝eclemma。首先下載下來,然后拷貝到ecilipse安裝目錄的dropins文件夾下,刪除ecilipse安裝目錄下的update文件,然后重啟ecilipse,當發現ecilipse上有這樣一個按鈕時,說明Emma安裝成功。

  3 接下來編寫test代碼。與src同級新建一個source folder,在兩個source folder下都新建pacage,兩個pacage命名相同(比如lab1),在src的lab1下新建一個.java文件,calculate.java,里面的內容如下

package lab1;

public class calculate {
    private static int result = 0;
    public void triangle(int a,int b,int c)
    {
        if(a<=0 || b<=0 || c<=0)
        {
            result = 0;//邊長必須大於0
        }
        else
        {
            if(((a+b)>c) && ((a+c)>b && (b+c)>a))
            {
                if((a == b) &&(a == c))
                {
                  result = 3;//等邊
                }
                if((a==b && a!=c)||(a==c && a!=b)||(b==c && a!=b))
                {
                    result = 2;//等腰
                    
                }
                if(a!=b && a!=c && b!=c)
                {
                    result = 1;//普通
                }
            }
            
            else
            {
                result = 0;//不滿足兩邊之和大於第三邊的不是三角形
            }
        }
        
    }
    
    
    public int getReuslt(){
        return result;
    }
    
        public void clear(){
        result = 0;
    }

}

 

這是用來判斷三角形類型的java類。

 

在test的lab1下新建testcal.java,用來寫測試程序

 

package lab1;
import static org.junit.Assert.*;
import org.junit.Test;
public class testcal {
    
    private static calculate cal = new calculate();
    @Test
    public void testTriangle(){
        
    cal.triangle(5, 5, 5);
    assertEquals(3, cal.getReuslt());
    cal.triangle(5, 5, 6);
    assertEquals(2, cal.getReuslt());
    cal.triangle(3, 4, 5);
    assertEquals(1, cal.getReuslt());
    cal.triangle(12, 5, 5);
    assertEquals(0, cal.getReuslt());
    }
    

}

運行結果如下

這個測試數據的結果和預期相同,說明此測試用例沒有找出程序的錯誤。綠色部分為corvered。

 

 

 

 

上圖是當我們故意寫錯一個test用例時,(6,5,5)應該是等腰,預期是2,不是0.(2代表等腰,0代表不是三角形),運行后,出現一個failure。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM