(一)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;@Testpublic void testAdd() {calcuate = new Calcuate();int result = calcuate.add(2, 3);Assert.assertEquals("加法有问题", 5, result);/** "加法有问题":期望值和实际值不一致时,显示的信息* 5 :期望值* result :实际值*/}@Testpublic void testSubtract() {calcuate = new Calcuate();int result = calcuate.subtract(12, 2); Assert.assertEquals("减法有问题", 10000, result); //故意设置减法期望值为10000}@Testpublic void testMultiply() {calcuate = new Calcuate();int result = calcuate.multiply(2, 3);Assert.assertEquals("乘法有问题", 6, result);}@Testpublic 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个,即有一个方法的输出结果跟我们的预期不一样。

Java单元测试工具:JUnit4(一)——概述及简单例子相关推荐

  1. 浅谈java单元测试框架junit4/5

    0 前言 junit是一个开源的Java语言的单元测试框架.目前junit主要有版本junit3,junit4和junit5.因在junit3中,是通过对测试类和测试方法的命名来确定是否是测试,且所有 ...

  2. java实现Excel动态列导出的简单例子

    可以通过该对象的set方法设置各个参数,headKey保存结果集中,数据对应的key值,ArrayList最佳,保证了导出列的顺序,同时限制了每个sheet页保存的最大数据行数为5W条,这些参数也可以 ...

  3. Java 实现递归算法(项目中的简单例子)

    1. 什么是递归? 递归算法是一种直接或间接调用自身函数或者方法的算法.Java递归算法是基于Java语言实现的递归算法. /*** 顶点用户递归* @param userid 用户is* @para ...

  4. 当前主流的单元测试工具

    Parasoft Jtest 是第一个自动化Java单元测试工具. Jtest自动测试任何Java类或部件,而不需要您写一个测试用例.驱动程序或桩函数.只要点击一个按钮,Jtest自动测试代码构造(白 ...

  5. 31.Python的单元测试工具——doctest

    转载请注明原始出处:http://blog.csdn.net/a464057216/article/details/51866748 后续此博客不再更新,欢迎大家搜索关注微信公众号"测开之美 ...

  6. java 单元测试用例_Java之单元测试工具(Junit)

    Junit是Java单元测试框架,一般Eclipse里面会集成这个Junit4测试工具 既然是测试工具,虽然开发用得比较多,但作为测试人员也需要具备会Junit测试的思想,况且技多不压身 这里简单介绍 ...

  7. Java单元测试实践-01.单元测试概述与示例

    Java单元测试实践-00.目录(9万多字文档+700多测试示例) https://blog.csdn.net/a82514921/article/details/107969340 1. 前言 以下 ...

  8. Java语言概述与简单程序

    Java语言概述 1. Java语言平台 1,J2EE(Java 2 Platform Enterprise Edition) 企业版 : 开发企业环境下的应用程序,主要针对web程序开发 2,J2S ...

  9. 热门Java开发工具IDEA入门指南——IntelliJ IDEA概述(下)

    IntelliJ IDEA,是java编程语言开发的集成环境.IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手.代码自动提示.重构.JavaEE支持.各类版本工具(git.sv ...

最新文章

  1. oracle: 在sqlplus中,执行sql语句
  2. Alpha 冲刺 —— 十分之八
  3. asp.net 检测是否关注公众号_实木板材开裂和变形是什么情况,出现后该怎么检测?...
  4. mysql将时间轴转化为时间_MySQL日期计算及格式转换有关问题
  5. react回调函数_React中的回调中自动绑定ES6类函数
  6. html报错页面,多页面配置生成的html报错
  7. 如何利用nginx_upstream_check_module-master对nginx的后端机器进行健康状态检查
  8. SQL Server事务日志–第2部分–日志性能问题的主要原因
  9. node环境配置安装(nvm)
  10. 从统计显著性到显著性统计
  11. qt的qopengl绘制箱子,实现翻转
  12. 此行向远:他们为人工智能雕刻灵魂
  13. 实施持续绩效管理流程的 6 大实用技巧
  14. 内网工具 CS的基础使用
  15. MATLAB 残差分析
  16. 图解TCP/IP网络知识轻松入门 读书笔记(五)
  17. 写博客能月入10K?
  18. 散阅史记_老子韩非列传第三
  19. Macbook Pro 外接显卡实现Tensorflow GPU运行之MacOS系统重装
  20. 上来微软这条贼船有阵年头了

热门文章

  1. stlink使用笔记
  2. Python绘图实例21:捂脸哭表情包绘制
  3. android pdfview 显示目录,Android 查看pdf文档——PDFView
  4. java栈实现--链栈
  5. Continuous Graph Neural Networks
  6. 如何应对高并发问题?
  7. oops和panic的区别
  8. ubuntu18.04合并pdf文件
  9. 资源3(ZY3)号卫星三线阵数据制作DEM
  10. 杨校老师课堂之JavaScript右下角广告弹框教程