博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java笔记18:JUnit单元测试
阅读量:6826 次
发布时间:2019-06-26

本文共 1640 字,大约阅读时间需要 5 分钟。

1 从

上下载最新的junit包。

 

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

 

 

3 建立com.abc的package,在该package下建立Calculator.,用来实现加减乘除运算。

 

[java]   
 
 
  1. package com.abc;  
  2.    
  3. publicclass Calculator {  
  4.      
  5.    publicint add(inta,intb) {  
  6.        returna +b;  
  7.    }  
  8.    
  9.    publicint minus(inta,intb) {  
  10.        returna - 1;  //故意写错,方便测试  
  11.    }  
  12.      
  13.    publicint divide(inta,intb) {  
  14.        returna /b;  
  15.    }  
  16.      
  17.    publicint mul(inta,intb) {  
  18.        returna *b;  
  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)编写测试类代码

 

[java]   
 
 
  1. package com.abc;  
  2.    
  3. importstatic org.junit.Assert.*;  
  4.    
  5. importorg.junit.Before;  
  6. importorg.junit.Test;  
  7.    
  8. publicclass CalculatorTest {  
  9.    Calculatorcal;  
  10.      
  11.    @Before  
  12.    publicvoid setUp()throws Exception{  
  13.        cal =newCalculator();  
  14.    }  
  15.    
  16.    @Test  
  17.    publicvoid testAdd() {  
  18.        intres =cal.add(20, 10);  
  19.        assertEquals("加法错误",res, 30);  
  20.    }  
  21.    
  22.    @Test  
  23.    publicvoid testMinus() {  
  24.        intres =cal.minus(20, 10);  
  25.        assertEquals("减法错误",res, 10);  
  26.    }  
  27.    
  28.    @Test  
  29.    publicvoid testDivide() {  
  30.        intres =cal.divide(20, 10);  
  31.        assertEquals("除法错误",res, 2);  
  32.        res =cal.divide(20, 0);  
  33.    }  
  34.    
  35.    @Test  
  36.    publicvoid testMul() {  
  37.        intres =cal.mul(20, 10);  
  38.        assertEquals("乘法错误",res, 200);  
  39.    }  
  40.    
  41. }  

 

 

 

 

 

5 开始测试

右键点击Calculator,“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。

你可能感兴趣的文章
数据对接—kettle使用之九
查看>>
tableVIew删除时的delete按钮被挡住时重写的方法
查看>>
【AIX 命令学习】mkdev -l 设置逻辑卷
查看>>
[curl-loader]faststart新压力测试工具
查看>>
政策 |《关于组织实施促进大数据发展重大工程》的通知
查看>>
java抽象类与接口的区别
查看>>
自建JS代码库(1)---添加用户的常用验证
查看>>
Module Thinking之路径依赖
查看>>
opensource ERD (entity relation diagram) - pgModeler for PostgreSQL
查看>>
在Code::Blocks中使用C++11标准
查看>>
【JSP开发】JSP常用标签介绍
查看>>
[LeetCode]200.Number of Islands
查看>>
[Vue]1-3. Vue.js核心知识之表单绑定
查看>>
python基础笔记(一)
查看>>
10 分钟理解 Redux
查看>>
技术人生的职场众生相—测试篇
查看>>
学习日记 - position: sticky ,实现“粘性”效果
查看>>
信息收集工具exiftool获取图片中的exif信息
查看>>
在终端中显示图片
查看>>
python3、ipython3、setup-tools、pip等环境搭建详细总结
查看>>