博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
谈谈单元測试之(二):測试工具 JUnit 3
阅读量:5062 次
发布时间:2019-06-12

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

前言

上一篇文章《 》讨论了一下现阶段软件开发中,程序猿们測试情况的现状。这篇文章中,我打算介绍一下单元測试的工具(插件)。而且推荐大家以后在开发中,真正的用上单元測试,用好单元測试。

说明

这篇文章的主题,主要是介绍一下 JUnit 3。尽管 JUnit 3 已经不推荐使用了,但它也曾是风靡一时。这里旨在讨论一下 JUnit 3 的使用,以及它的内部构造,就当是为下一篇文章介绍 JUnit 4 做铺垫吧。

之前已经把单元測试的重要性都讲出来了,这里就不再赘述了,直接进入正题。

介绍

JUnit 是由 Erich Gamma 和 Kent Beck 编写的一个回归測试框架(regression testing framework)。JUnit 測试是程序猿測试。即所谓白盒測试。它是一个 Java 语言的測试框架。多数 Java 的开发环境都已经集成了 JUnit 作为单元測试的工具。

特性

  • 用于測试期望结果的断言(Assertion)
  • 用于共享共同測试数据的測试工具
  • 用于方便的组织和执行測试的測试套件
  • 图形和文本的測试执行器

使用

下载

  • 下载  包(这里提供了下载地址)

增加项目

  • 把压缩包中的 junit3.8.1.jar 文件,增加到项目的 classpath 中。

基本流程

  • 写測试类并继承 TestCase 类
  • 写測试方法 testXXX()
  • 写測试套件类。将 test case 增加到 test suite
  • 执行JUnit Test 进行測试

演示代码

package com.tgb.test;import junit.framework.Assert;import junit.framework.Test;import junit.framework.TestCase;import junit.framework.TestSuite;// 1. 继承 TestCase 类public class CalculatorTest extends TestCase {	// 2. 測试方法必须以 test 开头	public void testAdd() {		int result = new Calculator().add(1, 2);		Assert.assertEquals(3, result);	}		// 3. 将 testcase 增加 testsuite,能够同一时候測试多个用例	public static Test suite() {		return new TestSuite(CalculatorTest.class);	}}

剖析概念

  • TestCase(測试用例)
当一个类继承 JUnit 的 TestCase 类。即成为一个測试类,并且,測试类中的方法必须以 test 开头,比方:testAdd() 等。

  • TestSuite(測试套件)
TestSuite 是一组測试,目的在于将相关的測试用例归入一组。当运行一个 Test Suite 时,就会运行组内全部的測试方法。这就避免了繁琐的測试步骤。

当然。假设没有为 test case 写 test suite 的话,系统会默觉得每一个 test case 生成一个 test suite。

  • Assert(断言)
Assert 用于检查条件是否成立,当条件成立则 Assert 方法通过,否则会抛出异常。比如,Assert.assertEquals(3, result); 推断 result 是否跟期望的3想等,假设想等则通过。否则測试失败。

主要有例如以下几个断言方法:
assertTrue/False():推断一个条件是 true 还是 false。

fail():失败,能够有消息,也能够没有消息。

assertEquals():推断是否想等,能够指定输出错误信息。注意不同数据类型所使用的 assertEquals 方法參数有所不同。
assertNotNull/Null():推断一个对象是否为空。

assertSame/NotSame():推断两个对象是否指向同一个对象。
failNotSame/failNotEquals():当不指向同一个内存地址或者不相等的时候。输出错误信息。

错误信息为指定的格式。

  • setUp
每次測试方法运行之前,都会运行 setUp 方法。此方法用于进行一些固定的准备工作,比方,实例化对象。打开网络连接等。

  • tearDown
每次測试方法运行之后。都会运行 tearDown 方法,此方法用于进行一些固定的善后工作。比方。关闭网络连接等。

结束语

JUnit 3 就介绍到这。能够看出。JUnit 3 还是非常easy的,仅仅只是在每次编写測试类时,都须要继承 TestCase 类。这就无形之中给測试类添加了一些牵绊。

下一篇文章中,我们一起来讨论一下 JUnit 4 的一些新特性,以及是怎样简化測试用例的。

不要着急哦。下一篇立即就到。。。

转载于:https://www.cnblogs.com/zsychanpin/p/7201937.html

你可能感兴趣的文章
uva11636 Hello World!
查看>>
【TensorFlow篇】--Tensorflow框架实现SoftMax模型识别手写数字集
查看>>
JavaScript中String对象的一些方法
查看>>
IO_字符流输出
查看>>
系统管理命令
查看>>
How to activate Microsoft SQL Server 2012 evaluation
查看>>
图搜索中的人工智能算法--A算法和A*算法
查看>>
cvCreateImage() & cvCloneImage()
查看>>
6. redis持久化,认证
查看>>
控制复选框的全选或反选
查看>>
utf8和unicode
查看>>
PHP导入导出csv文件 Summer-CSV
查看>>
UWP 双向绑定,在ListView中有个TextBox,怎么获取Text的值
查看>>
OpenGL学习-------visual studio 2010配置和第一个OpenGL程序讲解
查看>>
python入门-分类和回归各种初级算法
查看>>
Day4 Python基础之数据类型(三)
查看>>
http状态码
查看>>
执行计划--在存储过程中使用SET对执行计划的影响
查看>>
『科学计算』L0、L1与L2范数_理解
查看>>
有十二个球,大小形状相同。其中一个重量与其他十一个不同,现在要求用一没有砝码的天平称三次找出那个球,并确定特殊球是轻还是重...
查看>>