【Software Testing】使用JUnit以及Eclemma進行單元測試和覆蓋測試

來源:互聯網
上載者:User

標籤:

1. 在Eclipse下安裝JUnit以及Hamcrest.

  事前準備:下載好JUnit以及Hamcrest的jar包,提供github的下載網址

https://github.com/junit-team/junit/wiki/Download-and-Install

  下載好了上述兩個jar包之後,開啟Eclipse,建立java project,右鍵完成好的工程檔案夾,選擇BuildPath選項。

  之後,在彈出的視窗中進行如下操作:選中“Libraries”,點擊“Add ExternalJARS”,選擇上述兩個jar包的下載路徑,選中jar包即可。至此,安裝完畢。

2.在Eclipse下安裝Eclemma

  安裝Eclemma的方法有許多,此處提供一種線上一鍵安裝的方法:

  開啟Eclipse,選擇Help->EclipseMarketplace

  在出現的視窗中,選擇Search,在輸入框中填入"eclemma",點擊搜尋按鈕後會顯示搜尋結果,直接在搜尋結果處點擊install即可。

  

  安裝結束後,重啟Eclipse,在工具列出現這個按鈕的時候,說明eclemma安裝成功。

3.編寫程式碼完成三角形形狀的檢測

  按照實驗要求,本次實驗要求進行測試的代碼為一段檢測一個三角形形狀的代碼:給定三角形三條邊的長度,判斷該三角形是等邊三角形還是等腰三角形還是普通三角形。

  編寫三角形類,有三個成員變數,分別表示三角形的三條邊,根據三角形的構成條件,首先進行判斷,三條邊是否能夠組成一個三角形,如果不能,那麼返回一個錯誤資訊,表明輸入的三條邊不能組成一個三角形,屬於非法輸入。如果通過判斷表明這三條邊可以構成三角形,那麼再根據等邊三角形和等腰三角形的判定條件來判斷具體的形狀即可。具體代碼如下

public class tri {    public int a,b,c;    public tri(int a, int b,int c){        this.a=a;        this.b=b;        this.c=c;    }    public String judgement(){        if( a+b<=c || a+c<=b || b+c <=a){            return "Not a triangle";        }else{            if(a==b&&a==c){                return "equilateral";            }else if(a == c && b != c){                return "isosceles";            }else{                return "scalene";            }        }    }    }

  三角形類編寫完成之後,編寫測試函數,給定輸入和預期的輸出,通過JUnit來進行測試。

import org.junit.Test;import static org.junit.Assert.*;import org.junit.Before;public class main {    public tri t;    @Before    public void create(){        t = new tri();    }    @Test    public void Test(){        t = new tri(1,1,1);        assertEquals("equilateral",t.judgement());        t = new tri(1,2,2);        assertEquals("isosceles",t.judgement());        t = new tri(2,1,2);        assertEquals("isosceles",t.judgement());        t = new tri(1,2,3);        assertEquals("Not a triangle",t.judgement());        t = new tri(3,4,5);        assertEquals("scalene",t.judgement());            }}
 4.測試結果

  JUnit測試

 

  Eclemma下的覆蓋率測試(程式碼片段)

  

 

【Software Testing】使用JUnit以及Eclemma進行單元測試和覆蓋測試

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.