[轉]在Eclipse中使用JUnit4進行單元測試(初級篇)

首先,咱們來一個傻瓜式速成教程,不要問爲何,Follow Me,先來體驗一下單元測試的快感!框架

首先新建一個項目叫JUnit_Test,咱們編寫一個Calculator類,這是一個可以簡單實現加減乘除、平方、開方的計算器類,而後對這些功能進行單元測試。這個類並非很完美,咱們故意保留了一些Bug用於演示,這些Bug在註釋中都有說明。該類代碼以下:ide

package andycpp;

public class Calculator {
    private static int result;    //靜態變量,用於存儲運行結果
    public void add(int n)
    {
        result=result+n;
    }
    
    public void substract(int n)
    {
        result=result-1;        //Bug:正確的應該是result=result-n;
    }
    
    public void multiply(int n)
    {
        //此方法還沒有寫好
    }
    
    public void divide(int n)
    {
        result=result/n;
    }
    
    public void square(int n)
    {
        result=n*n;
    }
    
    public void squareRoot(int n)
    {
        for(;;);    //Bug:死循環
    }
    
    public void clear()
    {
        result=0;  //將結果清零
    }
    
    public int getResult()
    {
        return result;
    }
}

 

第二步,將JUnit4單元測試包引入這個項目:在該項目上點右鍵,點「屬性」,如圖:單元測試

在彈出的屬性窗口中,首先在左邊選擇「Java Build Path」,而後到右上選擇「Libraries」標籤,以後在最右邊點擊「Add Library…」按鈕,以下圖所示測試

而後在新彈出的對話框中選擇JUnit4並點擊肯定,如上圖所示,JUnit4軟件包就被包含進咱們這個項目了。ui

 

第三步,生成JUnit測試框架:在EclipsePackage Explorer中用右鍵點擊該類彈出菜單,選擇「New - JUnit Test Case」。以下圖所示:spa

在彈出的對話框中,進行相應的選擇,以下圖所示:3d

點擊「下一步」後,系統會自動列出你這個類中包含的方法,選擇你要進行測試的方法。此例中,咱們僅對「加、減、乘、除」四個方法進行測試。以下圖所示:code

以後系統會自動生成一個新類CalculatorTest,裏面包含一些空的測試用例。你只須要將這些測試用例稍做修改便可使用。blog

完整的CalculatorTest代碼以下:教程

package andycpp;

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.internal.runners.TestClassRunner;
import org.junit.runner.RunWith;

@RunWith(TestClassRunner.class)
public class CalculatorTest {

    private static Calculator calculator=new Calculator();

    
    @Before
    public void setUp() throws Exception {
        calculator.clear();
    }

    @After
    public void tearDown() throws Exception {
    }

    @Test(timeout=1000)
    public void testAdd() {
        calculator.add(2);
        calculator.add(3);
        assertEquals(5, calculator.getResult());
    }

    @Test
    public void testSubstract() {
        calculator.add(10);
        calculator.substract(2);
        assertEquals(8,calculator.getResult());
    }

    @Ignore("Multiply() Not yet implemented")  
    @Test
    public void testMultiply() {
        
    }

    @Test(expected =ArithmeticException.class)
    public void testDivide() {
        calculator.add(8);
        calculator.divide(0);
        assertEquals(4,calculator.getResult());
    }
}

 

第四步,運行測試代碼:按照上述代碼修改完畢後,咱們在CalculatorTest類上點右鍵,選擇「Run As - JUnit Test」來運行咱們的測試,以下圖所示:

運行結果以下:

進度條是紅顏色表示發現錯誤,具體的測試結果在進度條上面有表示「共進行了4個測試,其中1個測試被忽略,一個測試失敗」.

至此,咱們已經完總體驗了在Eclipse中使用JUnit的方法。

相關文章
相關標籤/搜索