Junit4不是Junit3的升级版,它从根本上改变了结构,吸收了Java5的特性,最主要的就是大量注解的使用。
直接举个例子,被测试的类如下:
package junit; public class Calculator { public Double add(double x,double y){ return x+y; } public Double div(double x,double y){ return x/y; } }
我们需要在我们项目里导入jar。
hamcrest-core-1.3.jar
junit-4.11.jar
这个两个jar可以从http://junit.org下载。
然后编写测试类:
package junit; import org.junit.Assert; import org.junit.Test; public class CalculatorTest{ @Test public void testAdd(){ Calculator cal = new Calculator(); double result = cal.add(5D, 3D); Assert.assertEquals(8D, result, 0D); } @Test public void testDiv(){ Calculator cal = new Calculator(); double result = cal.div(6D, 3D); Assert.assertEquals(2D, result, 0D); } }
在3.8.1中有Suite,当运行多个测试类的时候可以组合起来使用。而在junit4中可用注解来做,
这里再拷贝一个测试类如下:
package junit; import org.junit.Assert; import org.junit.Test; public class Calculator1Test { @Test public void testAdd() { Calculator cal = new Calculator(); double result = cal.add(2, 5); Assert.assertEquals(7D, result,0D); } @Test public void testDiv() { Calculator cal = new Calculator(); double result = cal.div(10, 5); Assert.assertEquals(2D, result,0D); } }
利用Suite如下:
package junit; import org.junit.runner.RunWith; import org.junit.runners.Suite; import org.junit.runners.Suite.SuiteClasses; @RunWith(Suite.class) @SuiteClasses({ Calculator1Test.class, CalculatorTest.class }) public class AllTests { }
在eclipse里面更为简单,可以直接生成这个Alltest。
在new 一个文件的时候可以直接new Junit test Case 或者Junit test Suite,如下图所示:
到此,如果你会用junit3.8.1的,那么junit4也不过如此,当然junit4是兼容junit3的。