2 建立名为JunitTest的Java Project,把下载的junit-4.12.jar添加到工程中
3 建立com.abc的package,在该package下建立Calculator.java,用来实现加减乘除运算。
登录后复制
package com.abc; public class Calculator { public int add(int a,int b) { return a + b; } public int minus(int a,int b) { return a - 1; //故意写错,方便测试 } public int divide(int a,int b) { return a / b; } public int mul(int a,int b) { return a * b; }}1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.
4 创建测试类
(1)右键点击要测试的类Calculator.java,“New”,“JUnit Test Case”
(2)这里有四个方法可选
setUpBeforeClass()和setUp()是用于测试之前的准备工作。区别在于setUpBeforeClass()是针对整个类的,只执行一次;setUp()是针对方法的,每个测试方法被执行之前都会先执行setUp()。
tearDownAfterClass()和tearDown()是用于测试之后释放资源的。区别在于tearDownAfterClass()是针对整个类的,只执行一次;tearDown()是针对方法的,每个测试方法被执行后都会执行tearDown()。
这里勾选setUpBeforClass()。
3)这里可以选择要测试的方法。把四个运算方法都选上。
4)点击finish后生成的代码如下图所示
5)编写测试类代码
登录后复制
package com.abc; import static org.junit.Assert.*; import org.junit.Before;import org.junit.Test; public class CalculatorTest { Calculator cal; @Before public void setUp()throws Exception{ cal = new Calculator(); } @Test public void testAdd() { int res = cal.add(20, 10); assertEquals("加法错误",res, 30); } @Test public void testMinus() { int res = cal.minus(20, 10); assertEquals("减法错误",res, 10); } @Test public void testDivide() { int res = cal.divide(20, 10); assertEquals("除法错误",res, 2); res =cal.divide(20, 0); } @Test public void testMul() { int res = cal.mul(20, 10); assertEquals("乘法错误",res, 200); } }1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.
5 开始测试
右键点击CalculatorTest,“Run As”,“JUnitTest”,报initializationError的错误
这个错误是因为少了junit-4.12.jar的两个依赖包:hamcrest-core-1.3.rc2.jar和hamcrest-library-1.3.rc2.jar。
从网络上下载这两个包并添加到工程中:
重新进行单元测试,结果如下:
上述结果显示了两个方法是正确的,一个方法是计算结果错误,另一个方法是编译错误。
点击testMinus,可以查看错误信息为计算结果应该为10却计算成了19。
testDivide,可以看到错误信息为除数不能为0。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删