1. 程式人生 > >Idea下Juint 單元測試實踐

Idea下Juint 單元測試實踐

單元測試用的包:junit-4.1.jar

本質上就是提供了一個方便且功能強大的介面,省去了你寫main方法的麻煩。

package JunitPractice;

public class Calculator {
    public int add(int x,int y){
        return x+y;
    }
    public int divide(int x,int y){
        return x/y;
    }
    public static void main(String[] args) {
        int z=new Calculator().add(3, 5);
        System.out.println(z);
    }

}

然後寫個junit的例子

package JunitTest;

import JunitPractice.Calculator;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;

import static org.junit.Assert.*;

public class CalculatorTest {
    @Before
    public void setUp() throws Exception {
        System.out.println("method called before...");
    }

    @After
    public void tearDown() throws Exception {
        System.out.println("method called after...");
    }

    @Test
    public void add() throws Exception {
        Calculator cal=new Calculator();
        int result=cal.add(2,3);
        System.out.println("run here");
        Assert.assertEquals("答案是錯的",6,result);
        System.out.println("run end");
    }

    @Test
    public void divide() throws Exception {

    }

}

其中@before是在測試方法前呼叫的,@after是測試方法後呼叫的這兩個方法不管測試方法是否報錯是否發生異常,都會執行。另外,before和after是方法級的,意思是這倆方法會在所有的@Test方法執行時都會執行。

測試方法就是個簡單的計算,如果斷言結果是錯的,就會發生異常中斷,assert後面的方法將不會執行。