Java单元测试工具:JUnit4(一)——概述及简单例子
2016-01-30 19:54
471 查看
(一)JUnit概述及一个简单例子
看了慕课网的JUnit视频教程:http://www.imooc.com/learn/356,总结笔记。这篇笔记记录JUnit的概述,以及一个快速入门的例子。
1.概述
1.1 什么是JUnit
①JUnit是用于编写可复用测试集的简单框架,是xUnit的一个子集。xUnit是一套基于测试驱动开发的测试框架,有PythonUnit、CppUnit、JUnit等。②Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。
③多数Java的开发环境都已经集成了JUnit作为单元测试的工具,比如Eclipse。
1.2 为什么要使用测试工具
①测试框架可以帮助我们对编写的程序进行有目的地测试,帮助我们最大限度地避免代码中的bug,以保证系统的正确性和稳定性。②很多人对自己写的代码,测试时就简单写main,然后sysout输出控制台观察结果。这样非常枯燥繁琐,不规范。缺点:测试方法不能一起运行,测试结果要程序猿自己观察才可以判断程序逻辑是否正确。
③JUnit的断言机制,可以直接将我们的预期结果和程序运行的结果进行一个比对,确保对结果的可预知性。
1.3 相关链接
JUnit官网:http://junit.org/JUnit的jar包下载:https://github.com/junit-team/junit/wiki/Download-and-Install
2.简单例子快速入门
2.1 创建简单业务类
使用Eclipse创建一个项目,导入JUnit相关包,因为eclipse集成了JUnit框架,所以可以直接右键项目,选择Build Path → 点击Add Libraries → 选择JUnit → 点击Next,选择JUnit版本,然后Finish。(其实也可以下载jar包作为用户库来添加)编写一个简单的计算类:Calcuate类
package jtzen9.util; /** * 实现加减乘除的简单计算类 * @author Zen9 * */ public class Calcuate { public int add(int a,int b){ return a+b; } public int subtract(int a,int b){ return a-b; } public int multiply(int a,int b){ return a*b; } public int divide(int a,int b){ return a/b; } }
2.2 创建测试类
①右键Calcuate类,new 一个 JUnit Test Case:②弹出的对话框,暂时不做修改,直接点击next:(这样创建的测试类会在同一个包下,暂时不管测试类和业务类的隔离)
③勾选要测试的方法,点击Finish:
2.3 修改生成的测试类代码
上面步骤生成的测试类只包含测试方法的模板,并没有具体的测试细节,修改成如下:(其中有比较多的重复代码,暂时不管;并将减法的测试设为有问题)package jtzen9.util; import org.junit.Assert; import org.junit.Test; public class CalcuateTest { Calcuate calcuate; @Test public void testAdd() { calcuate = new Calcuate(); int result = calcuate.add(2, 3); Assert.assertEquals("加法有问题", 5, result); /* * "加法有问题":期望值和实际值不一致时,显示的信息 * 5 :期望值 * result :实际值 */ } @Test public void testSubtract() { calcuate = new Calcuate(); int result = calcuate.subtract(12, 2); Assert.assertEquals("减法有问题", 10000, result); //故意设置减法期望值为10000 } @Test public void testMultiply() { calcuate = new Calcuate(); int result = calcuate.multiply(2, 3); Assert.assertEquals("乘法有问题", 6, result); } @Test public void testDivide() { calcuate = new Calcuate(); int result = calcuate.divide(6, 3); Assert.assertEquals("除法有问题", 2, result); } }
2.4 运行结果
右键测试类,选择Run As , JUnit Test,结果如下:总共有4个测试方法,运行了4个方法;其中failures有1个,即有一个方法的输出结果跟我们的预期不一样。
相关文章推荐
- 看Struts官方项目一些配置习惯
- java后台封装echarts
- Java 面向对象编程--第十五章 集合(学习笔记)
- java运算符与表达式
- java 字符串使用+号的时候 到底发生了什么
- MySQL和java数据类型对应查询表
- Java初学之集合(一)
- Java学习之道:jdk环境变量配置方法
- JAVA中的继承
- eclipse-rcp之简述
- Struts2学习之Struts2简介
- java Format
- java/c# 常用快捷键对比
- eclipse、MyEclipse实现批量改动文件编码
- Java 线程封装对象
- java.lang.OutOfMemoryError: Java heap space 解决方法
- (转)Java_API全集
- 全方位讲解Java的面向对象编程思想
- 在eclipse.ini中为eclipse指定jdk启动
- java-迭代删除