【教学课件】第12章单元测试框架JUnit.ppt

上传人:小飞机 文档编号:5657795 上传时间:2023-08-06 格式:PPT 页数:22 大小:421KB
返回 下载 相关 举报
【教学课件】第12章单元测试框架JUnit.ppt_第1页
第1页 / 共22页
【教学课件】第12章单元测试框架JUnit.ppt_第2页
第2页 / 共22页
【教学课件】第12章单元测试框架JUnit.ppt_第3页
第3页 / 共22页
【教学课件】第12章单元测试框架JUnit.ppt_第4页
第4页 / 共22页
【教学课件】第12章单元测试框架JUnit.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《【教学课件】第12章单元测试框架JUnit.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第12章单元测试框架JUnit.ppt(22页珍藏版)》请在三一办公上搜索。

1、第12章 单元测试框架JUnit,JUnit是当前Java语言单元测试的一站式解决方案,它使Java开发人员能够进行测试驱动的开发。众多的优点使得它成为一款优秀的测试工具,本章就介绍如何使用JUnit进行Java的单元测试。,12.1 JUnit概述,对于Java程序而言,JUnit是一款非常优秀的单元测试工具,它可以进行有效的功能测试。不过JUnit本身只能对普通的Java程序进行测试,而对于服务器端的程序,如JSP和Servlet等就无能为力了。,12.1.1 什么是JUnit,JUnit是一个用于编写和运行可重复测试的Java开源测试框架。其官方网站是http:/www.junit.or

2、g/。如图所示为官方主页的示意图。,12.1.2 为什么要进行JUnit测试,在一个软件开发项目中,软件的测试是一项必不可少的工作。为了保证工程的质量,需要对软件进行的测试有:功能测试、性能测试、安全性测试、稳定性测试、浏览器兼容性测试等。其中,功能测试又是最基本的一项测试,它是其他测试的基础。JUnit测试是程序员测试,即所谓的白盒测试。因为程序员知道被测试的软件如何完成功能和完成什么样的功能。它本质上是一套框架,即开发者指定了一套条条框框,遵循这些要求编写测试代码,如继承某个类,实现某个接口后,就可以用JUnit进行自动测试了。使用JUnit进行软件测试有如下好处。可以使测试代码与产品代码

3、分开。针对某一个类的测试代码通过较少的改动便可以应用于另一个类的测试。易于集成到测试人员的构建过程中,JUnit和Ant的结合可以实施增量开发。JUnit是开放源代码的,可以进行二次开发。可以方便地对JUnit进行扩展。,12.1.3 JUnit的术语介绍,对于测试理论,有很多专业的术语需要介绍一下。以下是JUnit的框架的一些常用术语:对测试目标进行测试用的方法与过程的集合,可称为测试用例(TestCase)。测试用例的集合,可容纳多个测试用例(TestCase),将其称作测试包(TestSuite)。测试结果的描述与记录(TestResult)。测试过程中的事件监听者(TestListen

4、er)。每一个测试方法所发生的与预期不一致的状况的描述,称其测试失败元素(TestFailure)。JUnit Framework中的出错异常(AssertionFailedError)。,JUnit与Eclipse的集成,Eclipse开发工具很好地集成了JUnit单元测试框架,所以读者不必再从官方网站上下载所需要的jar,而可以直接使用Eclipse中自带的JUnit测试框架。,12.2 编写第一个JUnit测试,在Eclipse中,可以很快地进行JUnit单元测试的开发。下面就来练习一下如何使用Eclipse编写测试用例。,12.2.1 编写一个Java类,有这样一个Java类,它有两个

5、方法,分别计算两个数相加和两个数相减。该类的代码如下所示。Calculator.javapublic class Calculator/两个数相加public long add(long a,long b)return a+b;/两个数相减public long substract(long a,long b)return a-b;,12.2.2 创建测试类,接下来编写该测试类的测试用例,用来进行JUnit单元测试。编写测试类的代码如下步骤所示。(1)在要测试的类上右键单击,在弹出的右键菜单中选择“New”“JUnit Test Case”命令,弹出新建JUnit测试用例对话框,如图所示。(2

6、)然后单击“Next”按钮,出现选择所要测试的方法对话框。这里要测试两个方法,将要测试的方法选中,如图所示。(3)单击Finish按钮后,自动生成一个测试用例类文件,编写的代码如下所示。,12.2.3 运行JUnit,在该测试用例文件上右击,选择“Run As”“JUnit Test Case”命令后,运行该测试用例,然后转到“JUnit”视图中,可以看到测试结果,如图所示。,12.3 JUnit中常用的接口和类,JUnit中常用的接口和类主要有:Test接口、TestCase抽象类、Assert静态类、TestSuite类等,下面对这几个常用的接口和类进行分别介绍。,12.3.1 Test接

7、口,Test接口负责运行测试和收集测试结果,Test接口使用了Composite设计模式,是单独测试用例(TestCase),聚合测试模式(TestSuite)及测试扩展(TestDecorator)的共同接口。如图所示为实现了该接口的类继承关系图。,12.3.2 TestCase抽象类,TestCase是Test接口的抽象实现(不能被实例化,只能被继承),其构造函数TestCase(string name)根据输入的测试名称name创建一个测试实例。由于每一个TestCase在创建时都要有一个名称,若某测试失败了,便可识别出是哪个测试失败。TestCase类中包含setUp()、tearDo

8、wn()方法。setUp()方法集中初始化测试所需的所有变量和实例,并且在依次调用测试类中的每个测试方法之前再次执行setUp()方法。tearDown()方法则是在每个测试方法之后,释放测试程序方法中引用的变量和实例。,12.3.3 Assert断言类,Assert包含了一组静态的测试方法,用于比较期望值和实际值是否相同。如果不相同,即测试失败,Assert类就会抛出一个AssertionFailedError异常,JUnit测试框架将这种错误归入Failes并加以记录,同时标志为未通过测试。如果该类方法中指定一个String类型的传入参数,则该参数将被做为AssertionFailedEr

9、ror异常的标识信息,告诉测试人员该异常的详细信息。JUnit提供了6大类31组断言方法,包括基础断言、数字断言、字符断言、布尔断言和对象断言等。,12.3.4 TestSuite测试包类,TestSuite类负责组装多个Test Cases。待测的类中可能包括了对被测类的多个测试,而TestSuit负责收集这些测试,使开发者可以在一个测试中,完成全部的对被测类的多个测试。TestSuite类实现了Test接口,且可以包含其他的TestSuites。它可以处理加入Test时的所有抛出的异常。TestSuite处理测试用例有6个规约(否则会被拒绝执行测试)。测试用例必须是公有类(Public)。

10、测试用例必须继承自TestCase类。测试用例的测试方法必须是公有的(Public)。测试用例的测试方法必须被声明为void。测试用例中测试方法的前置名词必须是test。测试用例中测试方法无传递任何传递参数。,12.3.5 TestResult结果类,TestResult结果类集合了任意测试累加结果,通过TestResult实例传递给每个测试的Run()方法。TestResult在执行TestCase时如果失败会抛出异常。,12.3.6 其他类与接口,测试用例的其他接口和类有TestListener接口和TestFailure类。TestListener接口是一个事件监听器,可供TestRun

11、ner类使用。它通知listener对象的相关事件,方法包括测试开始startTest(Test test)、测试结束endTest(Test test)、增加异常addError(Test test,Throwable t)和增加失败addFailure(Test test,AssertionFailedError t)等。TestFailure失败类是个“失败”状况的收集类,解释每次测试执行过程中出现的异常情况。其toString()方法返回“失败”状况的简要描述。,12.4 进行JUnit测试的基本步骤,使用JUnit进行软件测试比较简单,它的基本使用步骤如下:(1)创建junit.fr

12、amework.TestCase派生单元测试所需要的test case。(2)书写测试方法,提供类似于如下函数签名的测试方法:public void testXXXXX()。(3)写完test case后,编译所写的test case类。(4)运行test case。,12.4.1 编写要测试的类,有一个账户Account类,这个类代表一个银行账号。其属性有用户名和账户金额,有两个方法:Operate方法用于转账、equals方法用于判断两个账户金额之和与某个账户是否相等,下面是这个类的源代码。,12.4.2 编写测试用例,测试用例是指继承了TestCase抽象类的测试类,它使用形如testXXXX()的方法对XXXX方法进行测试,AccountTest类的源代码如下。,12.4.3 运行JUnit测试用例,在AccountTest类文件上右键单击,在弹出的右键菜单中选择“Run As”“JUnit Test”命令,即可运行JUnit。本例中程序运行后的界面效果如图所示。,12.5 小结,使用JUnit可以对Java 的应用程序进行单元测试,能够极大地提高测试的效率,并能及时有效地进行测试驱动的开发,提升软件质量。所以说单元测试是Java程序开发中的一个重要环节。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号