培训教材JUnit培训.ppt

上传人:sccc 文档编号:5387842 上传时间:2023-07-02 格式:PPT 页数:35 大小:797.52KB
返回 下载 相关 举报
培训教材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最适合用于XP(E

2、xtreme 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.AllTests 基于Swin

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

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

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

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

7、果有则报告。,17,18,JUnit基本概念:TestResult,Failure与ErrorFailure是一个期望的被assert()方法检查到的失败如果result的结果不等于60,则是一个Failure:Error是测试不可预料的,是意外的问题引起的错误。如:ArrayIndexOutOfBoundsException,19,JUnit基本概念:TestListener,Juni框架提供了TestListener接口来帮助对象获取TestResult并创建有用的报告。TestResult收集了测试的相关信息,TestRunner报告这些信息。TestRunners其实就是实现了Test

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

9、的建立和拆除。,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;/建立构造方法,但不能用于进行测试环境的初始化public CarTest(String name)super(name);,24,/建立测试的

10、初始化环境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测试代码,public void testGetWheels()assertEquals(expectedWheels,myCar.getWheel

11、s();/应用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.runner、junit.swingui、junit.textui其中核心包是:junit.framework包负责构建整个测试对象的框架junit.runner负

12、责驱动测试程序,27,JUnit的软件结构:类,JUnit有四个重要类:TestResult、TestSuite、TestCase、TestRunner。其中前三个类属于Framework包,后一个类在不同的环境下是不同的。各个类的职责如下:,28,JUnit的软件结构:类,TestResult:收集TestCase执行的结果,将结果分为两类,用户可预测的Failure和不可预测的Error。同时将结果转发到TestListener(该接口由TestRunner继承)处理TestSuite:负责包装和运行所有的TestCase。,29,JUnit的软件结构:类,TestCase:客户测试类所要

13、继承的类,负责测试时对客户类进行初始化,以及测试方法调用TestRunner:用户对象调用的起点,负责对整个测试流程的跟踪。能够显示返回的测试结果,且报告测试进度,30,JUnit的软件结构:接口,两个重要的接口:Test和TestListener Test包含两个方法:run()和countTestCases(),完成对测试动作特征的提取TestCase和TestSuite都实现了该接口TestListener包含四个方法:addError()、addFailure()、startTest()和endTest(),负责对测试结果的处理以及测试驱动过程的动作特征的提取 TestRunner实现了该接口,31,Assert方法,32,Assert方法,33,内容小结,JUnit用于开发人员进行单元测试适合一边编程,一边测试,可尽早纠正编程错误,减小纠正代价在JUnit框架下,编写针对不同工作代码的测试代码,只需做部分修改,实现测试代码重用JUnit有特定的框架结构,只有多练习,才能熟练应用,34,其他内容,JFCunit:JFCUnit是Junit测试框架的扩展测试工具。其重点是加强对UI的测试。注意:JFCunit不仅对UI的测试功能,同样具有与junit一样的测试功能,35,欢迎提问和讨论,谢谢,

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号