Idea下Juint 單元測試實踐
阿新 • • 發佈:2019-01-25
單元測試用的包: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後面的方法將不會執行。