|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Java编译的是字节码,跟C++相反,启动不够快,效率不够高,难以精确控制内存,但是优点是编程比C++容易,代码比较安全但是容易留下性能隐患,跨平台靠字节码在各个平台复制(一处编译到处调试)
JUnit经由过程制造满意预期需求的断言来测试软件代码单位,可是这些断言只限于基础操纵。IBM软件工程师TonyMorris经由过程引进JUnit断言扩大(AssertionExtensionsforJUnit)弥补了这个空缺,JUnit断言扩大供应了一整套在JUnit框架中实行的庞大断言。上面请随作者的演示一道,懂得怎样利用这个来自alphaWorks的新包来进步Java软件的牢靠性和强健性。
盛行的JUnit主动单位测试框架供应了经由过程制造满意预期需求的断言来测试软件代码单位的路子。但是,这些断言仅范围于基础操纵,比方“断言两个变量相称”和“断言援用变量非null”。基础的JUnit断言是有效的,可是它们没法给出在实际的软件单位测试场景中所必要的浩瀚庞大的断言才能。
JUnit断言扩大(AssertionExtensionsforJUnit,JUnitX)是JUnit框架的一个扩大包,能够从alphaWorks(请参阅参考材料)下载失掉。它供应了良多罕见的庞大断言的需要完成。不必为某个断言编写庞大的JUnit测试用例,能够挪用一个JUnitX办法,制造来自统一高低文的断言——并且不必要分外的设置。JUnitX还宣称它的功效与文档形貌的一样,并包含了本人的JUnit自测套件。这再次包管了JUnitX会依据JUnitX文档来制造断言;假如某个单位测试失利,就能够晓得是软件代码单位失利了,而不是JUnitX的测试完成呈报了一个假失利。
JUnitX会有效的一个典范场景包含java.lang.Object类的equals(Object)办法和hashCode()办法设置的合约。在开辟的类中,一般请求恪守这些合约。用JUnit制造恪守合约的断言,就请求开辟庞大的单位测试用例,而这么做很简单堕落。比拟之下,用JUnitX举行断言十分复杂,就像创立一个前往类的实例的工场完成并从单位测试用例中挪用JUnitX的assertEqualsContract和assertHashCodeContract办法一样复杂。
JUnitX起步
无效利用JUnitX只必要一个最短的进修曲线,假如晓得怎样间接利用JUnit主动测试框架,那末将会发明利用JUnitX扩大包很简单。依照以下步骤便可起步:
假如还没有设置好运转JUnit测试用例的情况,请先设置好。能够参阅在“Automatingthebuildandtestprocess”中具体先容的步骤(请参阅参考材料)。
下载JUnitX包(请参阅参考材料),把JUnitX文档解压到选定目次。
让实行JUnit测试的类装进器可以找到lib/JUnitx.jar文件。
如今能够挪用JUnitx.framework.Assert类上的办法对功效举行断言了,挪用的体例与在典范JUnit测试情况利用JUnit.framework.Assert类的体例相似。JUnitX的在线API文档(请参阅参考材料)供应了JUnitx.framework.Assert类上可使用的办法挪用的具体形貌。
用例场景
假定如今请求完成一个代表人的类。Person类请求有三个属性:title(称号)、firstname(名字)和surname(姓)。title属性是由大概值MR、MS和MRS构成的无限汇合中的一个值,以是筹办用TypesafeEnumeration(范例平安的列举)计划形式来完成一个Title类。中的UML图显现了这些需求今朝的形态。
.需求的UML图表
清单1显现了这些需求的源代码:
<p>
令人可喜的是java现在已经开源了,所以我想我上述的想法也许有一天会实现,因为java一直都是不断创新的语言,每次创新都会给我们惊喜,这也是我喜欢java的一个原因。 |
|