Java JUnit单元测试笔记

2 建立名为JunitTest的Java Project,把下载的junit-4.12.jar添加到工程中

Java笔记18:JUnit单元测试_java



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.


Java笔记18:JUnit单元测试_java_02

 

 

4 创建测试类

 

(1)右键点击要测试的类Calculator.java,“New”,“JUnit Test Case”

Java笔记18:JUnit单元测试_ide_03


 

 

(2)这里有四个方法可选

 setUpBeforeClass()和setUp()是用于测试之前的准备工作。区别在于setUpBeforeClass()是针对整个类的,只执行一次;setUp()是针对方法的,每个测试方法被执行之前都会先执行setUp()。

 tearDownAfterClass()和tearDown()是用于测试之后释放资源的。区别在于tearDownAfterClass()是针对整个类的,只执行一次;tearDown()是针对方法的,每个测试方法被执行后都会执行tearDown()。

 

 这里勾选setUpBeforClass()。

Java笔记18:JUnit单元测试_ide_04



3)这里可以选择要测试的方法。把四个运算方法都选上。

Java笔记18:JUnit单元测试_ide_05




4)点击finish后生成的代码如下图所示

Java笔记18:JUnit单元测试_java_06

 


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的错误
Java笔记18:JUnit单元测试_ide_07

 

这个错误是因为少了junit-4.12.jar的两个依赖包:hamcrest-core-1.3.rc2.jar和hamcrest-library-1.3.rc2.jar。

 

 

从网络上下载这两个包并添加到工程中:

Java笔记18:JUnit单元测试_jar_08

 



重新进行单元测试,结果如下:

Java笔记18:JUnit单元测试_java_09

 

 

上述结果显示了两个方法是正确的,一个方法是计算结果错误,另一个方法是编译错误。

 

 

点击testMinus,可以查看错误信息为计算结果应该为10却计算成了19。

Java笔记18:JUnit单元测试_ide_10

 

 


testDivide,可以看到错误信息为除数不能为0。

Java笔记18:JUnit单元测试_ide_11




免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空