ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:365.06KB ,
资源ID:8496363      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8496363.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(JUnit入门.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

JUnit入门.docx

1、JUnit入门JUnit 1、JUnit简介JUnit是一个开发源代码的Java测试框架,用于编写和运行可重复的测试。它是用于单元测试框架体系xUnit的一个实例(用于java语言)。主要用于白盒测试,回归测试。1.1、JUnit的好处和JUnit测试编写原则 1.1.1 使用JUnit的好处:可以使测试代码与产品代码分开。针对某一个类的测试代码通过较少的改动便可以应用于另一个类的测试。易于集成到测试人员的构建过程中,JUnit和Ant的结合可以实施增量开发。JUnit是公开源代码的,可以进行二次开发。可以方便地对JUnit进行扩展。1.1.2 JUnit测试编写原则:简化测试的编写,这种简化

2、包括测试框架的学习和实际测试单元的编写。使测试单元保持持久性。可以利用既有的测试来编写相关的测试。1.2、JUnit的特征 1.2.1 提供的API可以让你写出测试结果明确的可重用单元测试用例1.2.2 提供了三种方式来显示你的测试结果,而且还可以扩展1.2.3 提供了单元测试用例成批运行的功能1.2.4 超轻量级而且使用简单,没有商业性的欺骗和无用的向导1.2.5 整个框架设计良好,易扩展1.3 JUnit框架组成 1.3.1 对测试目标进行测试的方法与过程集合,可称为测试用例(TestCase)。1.3.2 测试用例的集合,可容纳多个测试用例(TestCase),将其称作测试包(TestS

3、uite)。1.3.3 测试结果的描述与记录。(TestResult) 。1.3.4 测试过程中的事件监听者(TestListener)。1.3.5 每一个测试方法所发生的与预期不一致状况的描述,称其测试失败元素(TestFailure)1.3.6 JUnit Framework中的出错异常(AssertionFailedError)。1.4 JUnit中常用的接口和类 1.4.1 Test接口:运行测试和收集测试结果Test接口使用了Composite设计模式,是单独测试用例(TestCase),聚合测试模式(TestSuite)及测试扩展(TestDecorator)的共同接口。它的pub

4、lic int countTestCases()方法,用来统计测试时有多少个TestCase。另外一个方法就是public voidrun( TestResult ),TestResult是实例接受测试结果,run方法执行本次测试。1.4.2 TestCase抽象类:定义测试中固定方法TestCase是Test接口的抽象实现,(不能被实例化,只能被继承)其构造函数TestCase(string name)根据输入的测试名称name创建一个测试实例。由于每一个TestCase在创建时都要有一个名称,若测试失败了,便可识别出是哪个测试失败。TestCase类中包含的setUp()、tearDown

5、()方法。setUp()方法集中初始化测试所需的所有变量和实例,并且在依次调用测试类中的每个测试方法之前再次执行setUp()方法。tearDown()方法则是在每个测试方法之后,释放测试程序方法中引用的变量和实例。编写测试用例时,只需继承TestCase,来完成run方法即可,然后JUnit获得测试用例,执行它的run方法,把测试结果记录在TestResult之中。1.4.3 Assert静态类:一系列断言方法的集合Assert包含了一组静态的测试方法,用于期望值和实际值比对是否正确,即测试失败,Assert类就会抛出一个AssertionFailedError异常,JUnit测试框架将这种

6、错误归入Failes并加以记录,同时标志为未通过测试。如果该类方法中指定一个String类型的传参则该参数将被做为AssertionFailedError异常的标识信息,告诉测试人员改异常的详细信息。JUnit 提供了6大类31组断言方法,包括基础断言、数字断言、字符断言、布尔断言、对象断言。下表为Assert超类所提供的8个核心方法assertTure断言条件为真。若不满足,方法抛出带有相应的信息(如果有的话)的AssertionFaildeError异常AssertFalse断言条件为假。若不满足,方法抛出带有相应的信息(如果有的话)的AssertionFaildeError异常asser

7、tEquals断言两个对象相等。若不满足,方法抛出带有相应的信息(如果有的话)的AssertionFaildeError异常assertNotNull断言对象不为null。若不满足,方法抛出带有相应的信息(如果有的话)的AssertionFaildeError异常assertNull断言对象为null。若不满足,方法抛出带有相应的信息(如果有的话)的AssertionFaildeError异常assertSame断言两个引用指向同一个对象。若不满足,方法抛出带有相应的信息(如果有的话)的AssertionFaildeError异常assertNotSame断言两个引用指向不同的对象。若不满足,

8、方法抛出带有相应的信息(如果有的话)的AssertionFaildeError异常Fail让测试失败,并给出指定的信息1.4.4 TestResult结果类和其它类与接口TestResult结果类集合了任意测试累加结果,通过TestResult实例传递个每个测试的Run()方法。TestResult在执行TestCase是如果失败会异常抛出。TestListener接口是个事件监听规约,可供TestRunner类使用。它通知listener的对象相关事件,方法包括测试开始startTest(Test test),测试结束endTest(Test test),错误,增加异常addError(Te

9、st test,Throwable t)和增加失败addFailure(Test test,AssertionFailedError t)。TestFailure失败类是个“失败”状况的收集类,解释每次测试执行过程中出现的异常情况。其toString()方法返回“失败”状况的简要描述JUnit提供的一个代码框架public class TestXXX extends TestCase public TestXXX(String name) super(name); /* * Overwrite the setUp(). */ public void setUp() try super.setU

10、p(); /*your initialize code here*/ catch (Exception ex) ex.printStackTrace(); /* * Overwrite the tearDown(). */ public void tearDown() try /*your destroy code here*/ super.tearDown(); catch (Exception ex) ex.printStackTrace(); /* * Test the specified method */public void testXXX()分析这个框架代码,首先需要继承Test

11、Case这个JUnit提供的类,然后就写一个带参数的构造方法,接着覆盖setUp(),teardown()这两个方法,然后自己写下void型而且不带参数的testXXX()方法对类别里面的逻辑方法进行测试。testXXX()后面的XXX值得是我要测试的方法的名字,比如说我要测试String类里面的equals方法,其相应的测试类名为TestString,测试方法为public void testEquals();setup()方法进行初始化工作,tearDown()进行销毁工作。2、Eclipse中JUnit的使用Eclipse集成了JUnit,可以非常方便地编写TestCase。Eclips

12、e自带了一个JUnit的插件,不用安装就可以在你的项目中开始测试相关的类,并且可以调试你的测试用例和被测试类。下面介绍一下Eclipse中JUint使用步骤: a.创建一个新的Java Project,File-New-Java Project; b.输入Project name 之后点Finish; c.在src中新建一个Class,NewClass;d.在Name栏中输入Class名,选中public static void main(string args);e.编辑一段代码,例如DoubleAdd.java;f.在Eclipse中加入一个JUnit库,先选择Properties; 弹出

13、Properties for doubleadd对话框,选择Java Build Path中的Libraries标签,选择Add Library,弹出Add Library对话框,选择JUnit点Next; 选择JUnit library version,再这里我们就选择JUnit 3,然后点Finish; 这样就将一个JUnit 3的库加入到doubleadd中了;g.新建一个JUnit Test Case,New-JUnit Test Case弹出New JUnit Test Case对话框,输入Name选中setUp()和tearDown,点Finish;这样就新建了一个JUnit Te

14、st Caseh.编辑一个test casei.然后运行JUnit Test,得出结果,Run As-JUnit Test;如果assert成功,则会出现绿色的条带。如果有任何一个方法没有assert成功,就会显示红色的条带,并再下面的Failure Trace中说明原因。以上就是一个简单的JUnit在Eclipse中使用的实例。3、后记从上面的来看,JUnit的使用并不很难,但关键就是最后一步完成测试码,即编写TestCase。要编写一个好的TestCase却并非易事。一个不好的TestCase往往是既浪费了时间,也起不了实际的作用。相反,一个好的TestCase,不仅可以很好的指出代码中存

15、在的问题,而且也可以作为代码更准确的文档,同时还在持续集成的过程中起非常重要的作用。我们在作测试写TestCase时需要注意的几点:测试的独立性:一次只测试一个对象,方便定位出错的位置。这有两层意思:一个TestCase,只测试一个对象;一个TestMethod,只测试这个对象中的一个方法。给测试方法一个合适的名字。 一般取名为原来的方法名后加一个Test。在assert函数中给出失败的原因,如:assertTrue( “ should be true”, ),方便查错。在这个例子中,如果无法通过assertTrue,那么给出的消息将被显示。在JUnit中每个assert函数都有第一个参数是出错时显示消息的函数原型。测试所有可能引起失败的地方,如:一个类中频繁改动的函数。对于那些仅仅只含有getter/setter的类,如果是由IDE(如Eclipse)产生的,则可不测;如果是人工写,那么最好测试一下。在setUp和tearDown中的代码不应该是与测试方法相关的,而应该是全局相关的。如针对与测试方法A和B,在setUp和tearDown中的代码应该是A和B都需要的代码。测试代码的组织:相同的包,不同的目录。这样,测试代码可以访问被测试类的protected变量/方法,方便测试代码的编写。放在不同的目录,则方便了测试代码的管理以及代码的打包和发布。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1