MyEclipse中使用Junit插件进行单元测试.docx

上传人:b****6 文档编号:8714111 上传时间:2023-05-14 格式:DOCX 页数:12 大小:241.29KB
下载 相关 举报
MyEclipse中使用Junit插件进行单元测试.docx_第1页
第1页 / 共12页
MyEclipse中使用Junit插件进行单元测试.docx_第2页
第2页 / 共12页
MyEclipse中使用Junit插件进行单元测试.docx_第3页
第3页 / 共12页
MyEclipse中使用Junit插件进行单元测试.docx_第4页
第4页 / 共12页
MyEclipse中使用Junit插件进行单元测试.docx_第5页
第5页 / 共12页
MyEclipse中使用Junit插件进行单元测试.docx_第6页
第6页 / 共12页
MyEclipse中使用Junit插件进行单元测试.docx_第7页
第7页 / 共12页
MyEclipse中使用Junit插件进行单元测试.docx_第8页
第8页 / 共12页
MyEclipse中使用Junit插件进行单元测试.docx_第9页
第9页 / 共12页
MyEclipse中使用Junit插件进行单元测试.docx_第10页
第10页 / 共12页
MyEclipse中使用Junit插件进行单元测试.docx_第11页
第11页 / 共12页
MyEclipse中使用Junit插件进行单元测试.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

MyEclipse中使用Junit插件进行单元测试.docx

《MyEclipse中使用Junit插件进行单元测试.docx》由会员分享,可在线阅读,更多相关《MyEclipse中使用Junit插件进行单元测试.docx(12页珍藏版)》请在冰点文库上搜索。

MyEclipse中使用Junit插件进行单元测试.docx

MyEclipse中使用Junit插件进行单元测试

Eclipse中使用Junit插件进行单元测试

测试是软件开发的重要环节之一。

按照软件开发的过程测试可分为:

单元测试、集成测试、系统测试、域测试等。

我们这里将讨论面向程序员的单元测试。

一、什么是单元测试

单元测试指的是使用编写好的测试代码来检验需要被测试的代码。

我们通常给要测试的方法传入一些参数值,然后检测方法的返回值跟预期是否一致。

一般情况下我们会传入一些容易引发错误的数据,例如给计算除法的方法传入除数0,并且测试的参数也会传入许多组,这样才能保证测试效果。

二、为什么要使用单元测试

注:

如果你时间不多请直接看后面的粗体

每当别人提起“单元测试”都会让william的内心难受上好长一阵子,往往他的好心情也会一扫而光。

这又是为什么呢?

5年前William的软件公司很顺利的拿到美国ADC电讯公司(ADCTelecommunications)的一单软件开发的生意,总价值1500万美元,利润在32%上下。

面对着几百万的收益,William兴奋地对自己的妻子说:

“Catherine,不久我们的银行户头上就会多出几百万美元。

做完这笔生意,你老爸再也不会抱怨他的女儿嫁给了一个贫困街区出生并且没受过高等教育的乡巴佬。

还真想不到你老爸再见到我的时候会是什么样的表情……”。

作为同William生活了12年的Catherine很清楚的知道,William这个人实际的本事没多少,然而大话却说了不少。

当初她正因为轻信了William的许诺才嫁给他,然而当年的承诺从来就没兑现过。

虽说William这个人没什么本事,可是他却有着令别人羡慕的“狗屎运”。

高中毕业之后,他参了军,在越南战争中他所在的小队中了越南人的埋伏,却唯独William一个人活着回来。

(William牢记美军士兵手册其中一条训令:

永远不要和比你作战勇敢的战友躲在同一个散兵坑,因为他会给你们招来致命炮火打击。

)William回来后向自己的上司编造了谎言,因而被提升为中尉,授予紫心勋章。

退役后有幸运结识底特律市长的千金——Catherine,并且让这位市长千金以身相许。

William的岳父虽说从来就没看上过这位贫穷、没教养还时常夸夸其谈的女婿,可最终还是出资给William创办公司。

William的运气不得不让人羡慕,可是这回软件开发他还会这么幸运么?

翌日,William一大早就来到公司,他第一件事情就是要和项目经理谈话。

“嘿!

John。

我们的项目要立即投入人力着手开发,别让那些程序员慢吞吞的。

”William认真的说。

“先生,我们的项目还不能立即开发,因为我们还没有做项目需求。

”项目经理John提醒着。

William不耐烦的说:

“John,先别管需求那东西,我要最快看到产品。

还有别搞那些耽误时间的单元测试,我希望你们以最快速拿出产品。

John很无奈的接受了William的指示。

William真不愧是一个没大脑的人,为了能缩短开发时间,节省开发成本,从而达到提高利润率的目的,不惜进行需求分析、单元测试。

最终的结果完全符合预料,项目失败了,William失去了400万美元的项目抵押金和300万美元的开发成本。

从William的例子中看到,缺少单元测试的项目很难达保证程序质量。

我们编写代码时,一定会反复调试保证它能够编译通过。

如果是编译没有通过的代码,没有任何人会愿意交付给自己的老板。

但代码通过编译,只是说明了它的语法正确;我们却无法保证它的语义也一定正确,没有任何人可以轻易承诺这段代码的行为一定是正确的。

幸运的是单元测试会为我们的承诺做保证。

编写单元测试就是用来验证这段代码的行为是否与我们期望的一致。

有了单元测试,我们可以自信的交付自己的代码,而没有任何的后顾之忧。

三、单元测试的优点

1、单元测试是一种验证行为

当针对一个Java类的测试用例写好之后,日后再向这个Java类添加新的方法并不影响存在的测试用例,由于测试用例是对以前的方法测试,因此不会映像到测试用例,我们只需向测试用例加入对新方法的测试即可。

2、从旁观者的角度编写测试用例

程序设计者讲UML类图画好之后,程序就有了类结构,这时对这个类中的方法编写测试用例,然后程序员开始讲类的具体内容实现。

写好之后让测试用例测试。

编写的顺序是先写测试用例再写程序具体代码,单元测试可以保证测试用例绝对客观、公正。

因为他是在具体程序之前编写的。

3、代码可以反复被测试用例测试

四、你的第一个测试用例

创建一个Java类Calculation,完成加减乘除四则运算。

在新创建的类“Calculation”上右键——New——Other,弹出New对话框,选择JUnitTestCase,如下图:

Next,点击“Clickhere”导入JUnit包,如下图:

点“OK”后,警告解除,点“Next”

勾选刚才创建的加、减、乘、除方法,然后点“Finished”。

可以看到JUnit在当前包下创建了一个名叫“CalculationTest”的测试类:

下面可以写测试方法了:

右键RunAs——JUnitTest,没有任何错误和失败,方法add通过单元测试。

可以修改一下代码,让assertEquals方法的两个参数不相等,再执行单元测试,就会看下面的错误提示:

只有打有“@Test”标识的测试方法才在单元测试时执行。

JUnit窗口可以通过Window——ShowView里选择,如图示:

五、JUnit4语法结构

最新JUnit4版本语法和从前相比语法异常简单,初学者10分钟就能全部掌握。

1、任意给Junit测试用例起类名,但需要符合正常的Java类命名规范。

2、测试用例类不用继承超类以及实现接口

publicclassCalculationTest{}

3、如果希望在执行测试之前运行某些代码,例如连接数据库、创建工厂类对象和初始化变量等等,我们可以将这样的代码写到一个方法之中,方法名字自己任意定义。

但是需要在方法之前添加元数据“@Before”

@Before

publicvoidsetUp()throwsException{

calc=newCalculation();//在测试开始前首先实例化一个Calculation对象

}

上面的例子看到,在执行测试之前对calc引用进行实例化。

这样的代码应该被放在测试之前执行,否则在测试过程中calc没有被初始化,它的值只能是null。

4、如果那些代码需要在测试执行之后运行,例如关闭数据库连接、关闭线程池以及关闭数据库连接池等等,我们还是将他们写道一个方法中,在方法前加入“@After”。

@After

publicvoidsetDown()throwsException{

//这里写入代码

}

5、定义测试方法。

1)方法名任意起

2)方法前面加上“@Test”

3)方法中可以定义测试的代码

6、测试上传异常

@Test(expected=IllegalArgumentException.Class)

方法前的这句元数据意思是期待抛出IllegalArgumentException类型的异常

7、测试时间

测试时间指的是当超过指定的时间,测试仍然没有结束,则判定测试失败。

@Test(timeout=500)

publicvoidtestGetConnection(){

//写入测试代码

}

上面的代码意味着当500毫秒之后,测试没有结束测试就失败。

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2