培训教材JUnit培训.ppt

上传人:本田雅阁 文档编号:2598668 上传时间:2019-04-15 格式:PPT 页数:35 大小:797.51KB
返回 下载 相关 举报
培训教材JUnit培训.ppt_第1页
第1页 / 共35页
培训教材JUnit培训.ppt_第2页
第2页 / 共35页
培训教材JUnit培训.ppt_第3页
第3页 / 共35页
培训教材JUnit培训.ppt_第4页
第4页 / 共35页
培训教材JUnit培训.ppt_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《培训教材JUnit培训.ppt》由会员分享,可在线阅读,更多相关《培训教材JUnit培训.ppt(35页珍藏版)》请在三一文库上搜索。

1、1,JUnit培训,2,内容概要,JUnit概述 JUnit基本概念 JUnit的软件结构 内容小结,3,JUnit概述,由Erich Gamma和Kent Beck编写的测试框架 是开放源码软件,在www.junit.org下载 是一种白盒测试法,是进行回归测试的工具 JUnit自定义包、类框架结构和接口 ,可以参阅下载文件中的javadoc目录内容,4,JUnit概述,测试阶段划分:单元测试、集成测试、系统测试 JUnit适用于Java开发人员在单元测试阶段,进行单个方法实现功能或者类本身的测试 JUnit需要测试者自己编程,编写的测试代码必须满足JUnit框架的要求 一般认为,JUnit

2、最适合用于XP(Extreme Programming:极限编程)开发中,5,JUnit概述:安装,下载安装程序:www.junit.org并解包 增加junit.jar到CLASSPATH。例如: set classpath=%classpath%;INSTALL_DIRjunit3junit.jar 测试安装成功与否:,6,JUnit概述:安装,三种方式的测试: 批处理文本方式 java junit.textui.TestRunner junit.samples.AllTests Awt图形测试运行方式 java junit.awtui.TestRunner junit.samples.A

3、llTests 基于Swing的图形测试方式 java junit.swingui.TestRunner junit.samples.AllTests,声明:在Jbuilder的IDE开发环境下,带有Junit的测试包,可 以直接使用。如果想使用最新版。也可以把它作为工具程序配 置到Tools菜单栏中使用。,7,被测试的代码文件,绿色显示工作类工作无误,已测类数量,测试耗时,浏览可测文件,开始测试按钮,测试结果详细描述,8,一个简单的例子,9,一个简单的例子,用JUNIT编写的测试代码,10,一个简单的例子,用Swing test runner运行测试代码: java junit.swingu

4、i.TestRunner TestCalculator,11,JUnit基本概念:TestCase,是JUnit提供的一个类,实现Test接口,继承 junit.framework.Assert 几乎我们编写的所有测试类都要继承TestCase 一个扩展TestCase类(即测试类)会有多个testXXX()方法,一个testXXX()方法就是一个测试。,12,JUnit基本概念:TestSuite,包含了一组相关的TestCase 如果你没有为你的TestCase定义一个suite,Junit会自动为你提供suite并将在TestCase中发现的所有测试都包含进来。 和TestCase一样,

5、作为JUnit的一个类实现Test接口 TestSuite类的suite()方法如同普通类中的main()方法一样,JUnit用来执行测试,13,用suite实现前面的例子,如果在calculator中加入了其他的方法:,14,Suite中可以包含suite 用suite.addTestSuite方法,15,JUnit基本概念:TestRunner,TestRunner是运行测试程序类,运行顺序如下 编译待测类和测试类,生成字节码 在命令行输入运行TestRunner或者在main()方法内运行junit.textui.TestRunner.run() Junit提供了三种运行器,分别为:te

6、stui.TestRunner;awtui.TestRunner;swingui.TestRunner;一种是文本方式,后两种是图形方式 都扩展于BaseTestRunner 测试成功,字符界面返回OK,图形显示条界面呈绿色,且没有failures和errors提示,16,JUnit基本概念:TestResult,TestResult收集了TestCase的执行结果。保存了所有的测试细节,通过或者失败 TestRunner 用TestResult来报告测试的结果,如果结果不是60,Junit会创建一个TestFailure 对象保存在TestResult中。 如果TestResult中没有Te

7、stFailure,说明代码是正确的,状态条显示为绿色,如果有则报告。,17,18,JUnit基本概念:TestResult,Failure与Error Failure是一个期望的被assert()方法检查到的失败 如果result的结果不等于60,则是一个Failure: Error是测试不可预料的,是意外的问题引起的错误。 如: ArrayIndexOutOfBoundsException,19,JUnit基本概念:TestListener,Juni框架提供了TestListener接口来帮助对象获取TestResult并创建有用的报告。 TestResult收集了测试的相关信息,Test

8、Runner报告这些信息。 TestRunners其实就是实现了TestListener接口,20,回顾,简单的说,就是: 一个TestRunner运行一个TestSuite 该TestSuite可以由一个或多个TestCases(或 者由其他的TestSuites)所组成。 运行的测试结果由TestResult收集, 由TestRunner来报告这些信息,21,JUnit基本概念:Fixture,Fixture:对类进行测试前准备的待测类测试环境 不同的待测类有不同的Fixture,但可以应用共同的Fixture,略作修改即可 不能将配置Fixture的代码放入测试类的构造方法中 JUnit

9、的TestCase类提供setUp()和tearDown()方法,分别完成Fixture的建立和拆除。,22,另一个例子,在Car类中获取汽车车轮数量方法,代码很简单,仅起例子作用:,public class Car public int getWheels() return 4; ,23,编写测试代码:类Car测试代码,import junit.framework.*; public class CarTest extends TestCase protected int expectedWheels; protected Car myCar; /建立构造方法,但不能用于进行测试环境的初始化

10、 public CarTest(String name) super(name); ,24,/建立测试的初始化环境Fixture protected void setUp() expectedWheels = 4; myCar = new Car(); /应用suite()来运行测试,suite()可以运行多个测试 public static Test suite() TestSuite suite= new TestSuite(); suite.addTest( new testCar(“ testGetWheels “) return suite; ,25,编写测试代码:类Car测试代码,

11、public void testGetWheels() assertEquals(expectedWheels, myCar.getWheels(); /应用tearDown()来拆除建立的测试环境 public void tearDown() /应用main()来驱动测试 public static void main(String args) junit.textui.TestRunner.run(suite(); ,26,JUnit的软件结构:包,JUnit 共有六个包,分别为junit.awtui、junit.extensions、junit.framework、junit.runne

12、r、junit.swingui、junit.textui 其中核心包是: junit.framework包负责构建整个测试对象的框架 junit.runner负责驱动测试程序,27,JUnit的软件结构:类,JUnit有四个重要类:TestResult、 TestSuite、TestCase 、TestRunner 。其中前三个类属于Framework包,后一个类在不同的环境下是不同的。 各个类的职责如下:,28,JUnit的软件结构:类,TestResult:收集TestCase执行的结果,将结果分为两类,用户可预测的Failure和不可预测的Error。同时将结果转发到TestListen

13、er(该接口由TestRunner继承)处理 TestSuite:负责包装和运行所有的TestCase。,29,JUnit的软件结构:类,TestCase :客户测试类所要继承的类,负责测试时对客户类进行初始化,以及测试方法调用 TestRunner:用户对象调用的起点,负责对整个测试流程的跟踪。能够显示返回的测试结果,且报告测试进度,30,JUnit的软件结构:接口,两个重要的接口:Test和TestListener Test包含两个方法:run() 和countTestCases(),完成对测试动作特征的提取 TestCase和TestSuite都实现了该接口 TestListener包含

14、四个方法:addError()、addFailure()、startTest()和endTest(),负责对测试结果的处理以及测试驱动过程的动作特征的提取 TestRunner实现了该接口,31,Assert方法,32,Assert方法,33,内容小结,JUnit用于开发人员进行单元测试 适合一边编程,一边测试,可尽早纠正编程错误,减小纠正代价 在JUnit框架下,编写针对不同工作代码的测试代码,只需做部分修改,实现测试代码重用 JUnit有特定的框架结构,只有多练习,才能熟练应用,34,其他内容,JFCunit : JFCUnit是Junit测试框架的扩展测试工具。其重点是加强对UI的测试。 注意:JFCunit不仅对UI的测试功能,同样具 有与junit一样的测试功能,35,欢迎提问和讨论,谢谢,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1