Java笔记18:JUnit单元测试
2016-01-27 15:52
120 查看
1 从http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22junit%22%20AND%20a%3A%22junit%22
上下载最新的junit包。
2 建立名为JunitTest的Java Project,把下载的junit-4.12.jar添加到工程中
3 建立com.abc的package,在该package下建立Calculator.java,用来实现加减乘除运算。
4 创建测试类
(1)右键点击要测试的类Calculator.java,“New”,“JUnit Test
Case”
(2)这里有四个方法可选:setUpBeforeClass()和setUp()是用于测试之前的准备工作,区别在于setUpBeforeClass()是针对整个类的,只执行一次,setUp()是针对方法的,每个测试方法被执行之前都会先执行setUp();tearDownAfterClass()和tearDown()是用于测试之后释放资源的,区别在于tearDownAfterClass()是针对整个类的,只执行一次,tearDown()是针对方法的,每个测试方法被执行后都会执行tearDown()。
这里勾选setUpBeforClass()。
(3)这里可以选择要测试的方法。把四个运算方法都选上。
(4)点击finish后生成的代码如下图所示
(5)编写测试类代码
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。
1 从http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22junit%22%20AND%20a%3A%22junit%22
上下载最新的junit包。
2 建立名为JunitTest的Java Project,把下载的junit-4.12.jar添加到工程中
3 建立com.abc的package,在该package下建立Calculator.java,用来实现加减乘除运算。
package com.abc; publicclass Calculator { publicint add(inta,intb) { returna +b; } publicint minus(inta,intb) { returna - 1; //故意写错,方便测试 } publicint divide(inta,intb) { returna /b; } publicint mul(inta,intb) { returna *b; } }
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; importstatic org.junit.Assert.*; importorg.junit.Before; importorg.junit.Test; publicclass CalculatorTest { Calculatorcal; @Before publicvoid setUp()throws Exception{ cal =newCalculator(); } @Test publicvoid testAdd() { intres =cal.add(20, 10); assertEquals("加法错误",res, 30); } @Test publicvoid testMinus() { intres =cal.minus(20, 10); assertEquals("减法错误",res, 10); } @Test publicvoid testDivide() { intres =cal.divide(20, 10); assertEquals("除法错误",res, 2); res =cal.divide(20, 0); } @Test publicvoid testMul() { intres =cal.mul(20, 10); assertEquals("乘法错误",res, 200); } }
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。
相关文章推荐
- java 日期转化
- hadoop入门搭windows eclipse环境时遇到的几个问题以及解决方案
- Spring MVC +Mybatis + Maven 配置之Mybatis配置
- Java开发中的23种设计模式详解
- java 集合中将元素倒序排列
- SpringMVC基础-SpringMVC的四种请求方式
- spring mvc
- 安装jdk 并放在 /usr/java/default 目录下
- struts2 The requested resource is not available.问题
- Spring Rmi远程方法调用 例子2
- 初识spring Bean的作用域
- spring hadoop 访问hbase入门
- java练习题
- java基础 通过IO操作 为文件名称修改编码
- Myeclipse web项目中连接sql数据库
- Eclipse插件Spring IDE在Eclipse中的使用
- java poi组件 读取word文档 替换文档 内容 图片
- Java MD5加密
- Eclipse项目移植到android studio问题总结
- 解决Eclipse和myeclipse在进行 html,jsp等 页面编辑时,自动格式化问题