发布一篇扩大JUnit4以增进测试驱动开辟
那这个对象有什么意义?现在很多用javabean的人就不能保证对象有完整的意义,不成熟的使用模式等导致代码疯狂增长,调试维护的时间要得多得多。在说性能之前,先说说你这个比较的来历。据说微软为了证明。net比java好。简介:在接纳测试驱动开辟的项目中,有一个常常困扰开辟者的成绩是:当存在大批的测试用例时,一次运转完一切的测试用例要消费很长的工夫,接纳TestSuite来构造测试用例的体例缺少天真性,通常它的构造布局大致和JavaPackage/Class的构造布局相似,不克不及和以后完成的营业需求完整相干。本文将经由过程扩大JUnit4来完成一种能够加倍高效天真地构造和运转测试用例的办理计划,增进测试驱动开发理论更无效地举行。
实践Java开辟中单位测试常碰到的成绩
在急迅开辟中,为了进步软件开辟的效力和质量,测试驱动开辟理论已被普遍利用。在测试驱动开发的项目中,跟着项目开辟不休地深切,堆集的测试用例会愈来愈多。测试驱动开辟的一个最好理论是随时运转测试用例,包管任什么时候候测试用例都能乐成实行,从而包管项目标代码是可事情的。当测试用例数量良多时,一次运转一切测试用例所损耗的工夫大概会很长,招致运转测试用例的本钱很高。以是在实践急迅开辟中,怎样构造、运转测试用例以增进测试驱动开辟成为一个值得探求的成绩。
JUnit是Java开辟中最经常使用的单位测试工具。在JUnit3用TestSuite来显式地构造想要运转的TestCase,一般TestSuite的构造大致上和JavaPackage/Class的构造相似,但如许其实不能和以后正在完成的营业需求完整相干,显得对照愚笨,好比说要运转某个子模块下一切的TestCase,大概运转跟某个详细功效相干的TestCase,触及到的TestCase数目大概较多,接纳界说TestSuite的体例一个个地增加TestCase很低效而且烦琐。在JUnit4中一样只能显式地构造要运转的TestCase。
怎样办理这些成绩,新公布的JUnit4供应了开辟职员扩大的机制,能够经由过程对JUnit举行扩大来供应一种办理的办法。
JUnit4的新特征和扩大机制
JUnit4引进了Java5的Annotation机制,来简化原本的利用办法。测试用例不再必要承继TestCase类,TestSuite类也作废了,改用@Suite.SuiteClasses来构造TestCase。可是这类仍是通过显现指定TestCase来构造运转的布局,不克不及办理上述的成绩。关于JUnit4的新特征详细能够参考developerworks的文章。
JUnit4的完成代码中供应了Runner类来封装测试用例的实行。它自己供应了Runner的多种完成,好比ParentRunner类、Suite类,BlockJUnit4ClassRunner类。我们能够充实使用JUnit4供应的已有举措措施来对它举行扩大,完成我们希冀的功效。
起首我们来剖析一下JUnit4在运转一个测试用例时,它外部的中心类是怎样事情的。展现了JUnit4运转测试用例时,中心类之间的挪用干系。
.JUnit4中心类之间的挪用干系
<p>
轮性能微软曾做过一个例子,就是同一个项目用java和.net来作,结果开发周期,.net是java的一半,性能java是.net的十分之一,代码量java是.net的三倍。呵呵,这说明了什么,.net的全方位比java好。但是有的人说.net不能跨平台,这个问题我和我同学曾讨论过,都认为微软的.net很可能早都可以跨平台了,但是微软为了保护他们的操作系统,所以才没有推出跨平台的.net,只是推出了跨语言的.net, 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 你可以去承接一些项目做了,一开始可能有些困难,可是你有技术积累,又考虑周全,接下项目来可以迅速作完,相信大家以后都会来找你的,所以Money就哗啦啦的。。。。。。 你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 Java 编程语言的风格十分接近C、C++语言。 是一种使网页(Web Page)产生生动活泼画面的语言 象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
页:
[1]