冷月葬花魂 发表于 2015-1-18 11:23:22

了解下JAVA的JUnit 4.4新特征

恰恰证明了java的简单,要不怎么没有通过c/c++来搞个这种框架?
跟着以后Java开辟的更加成熟,Agile和TDD的更加盛行,主动化测试的呼声也愈来愈高。若想将单位测试变得主动化,天然JUnit这把利器必不成少,这也是JUnit自1997年出生以来在Java开辟业界一向相称盛行的缘故原由。
JUnit是针对Java言语的一个单位测试框架,它被以为是迄今为止所开辟的最主要的第三方Java库。JUnit的长处是全部测试历程无需人的介入,无需剖析和判别终极测试了局是不是准确,并且能够很简单地一次性运转多个测试。JUnit的呈现增进了测试的流行,它使得Java代码更强健,更牢靠,Bug比之前更少。
JUnit自从问世以来一向在一直的推出新版本,今朝最新的版本是2007年7月公布的JUnit4.4,它是继JUnit4以来最年夜的刊行版,供应了良多有效的新特征。本文将假定读者已具有JUnit4的利用履历。
JUnit4.4概述
JUnit计划的目标就是无效地捉住编程职员写代码的企图,然后疾速反省他们的代码是不是与他们的企图相婚配。JUnit开展至今,版本一直的创新,可是一切版本都分歧努力于办理一个成绩,那就是怎样发明编程职员的代码企图,而且怎样使得编程职员加倍简单地表达他们的代码企图。JUnit4.4也是为了怎样可以更好的到达这个目标而呈现的。
JUnit4.4次要供应了以下三个小气面的新特征来更好的捉住编程职员的代码企图:
供应了新的断言语法(Assertionsyntax)——assertThat
供应了假定机制(Assumption)
供应了实际机制(Theory)
新的断言语法(Assertionsyntax)——assertThat
JUnit4.4进修JMock,引进了Hamcrest婚配机制,使得程序员在编写单位测试的assert语句时,能够具有更强的可读性,并且也加倍天真。
Hamcrest是一个测试的框架,它供应了一套通用的婚配符Matcher,天真利用这些婚配符界说的划定规矩,程序员能够加倍准确的表达本人的测试头脑,指定所想设定的测试前提。好比,偶然候界说的测试数据局限太准确,常常是多少个流动切实其实定值,这时候会招致测试十分懦弱,由于接上去的测试数据只需稍稍有变更,便可能招致测试失利(好比assertEquals(x,10);只能判别x是不是即是10,假如x不即是10,测试失利);偶然候指定的测试数据局限又不敷太准确,这时候有大概会形成某些本该会招致测试欠亨过的数据,仍旧会经由过程接上去的测试,如许就会下降测试的代价。Hamcrest的呈现,给程序员编写测试用例供应了一套划定规矩和办法,利用其能够加倍准确的表达程序员所希冀的测试的举动。(详细Hamcrest的利用,请参阅参考材料)
JUnit4.4分离Hamcrest供应了一个全新的断言语法——assertThat。程序员能够只利用assertThat一个断言语句,分离Hamcrest供应的婚配符,就能够表达全体的测试头脑。
assertThat的基础语法以下:
清单1assertThat基础语法
assertThat(,);
value是接上去想要测试的变量值;
matcherstatement是利用Hamcrest婚配符来表达的对后面变量所希冀的值的声明,假如value值与matcherstatement所表达的希冀值符合,则测试乐成,不然测试失利。
<p>
轮性能微软曾做过一个例子,就是同一个项目用java和.net网页编程来作,结果开发周期,.net网页编程是java的一半,性能java是.net网页编程的十分之一,代码量java是.net网页编程的三倍。呵呵,这说明了什么,.net网页编程的全方位比java好。但是有的人说.net网页编程不能跨平台,这个问题我和我同学曾讨论过,都认为微软的.net网页编程很可能早都可以跨平台了,但是微软为了保护他们的操作系统,所以才没有推出跨平台的.net网页编程,只是推出了跨语言的.net网页编程,

灵魂腐蚀 发表于 2015-1-30 07:28:54

是一种将安全性(Security)列为第一优先考虑的语言

变相怪杰 发表于 2015-1-30 20:11:54

那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!

小女巫 发表于 2015-2-1 17:38:40

http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。

因胸联盟 发表于 2015-2-3 13:50:13

应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展

爱飞 发表于 2015-2-6 15:23:59

是一种使网页(Web Page)产生生动活泼画面的语言

活着的死人 发表于 2015-2-6 22:00:57

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

飘飘悠悠 发表于 2015-2-9 23:56:03

至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。

谁可相欹 发表于 2015-2-28 08:50:31

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

若相依 发表于 2015-3-1 09:28:19

是一种为 Internet发展的计算机语言

老尸 发表于 2015-3-10 13:05:00

多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。

柔情似水 发表于 2015-3-17 07:56:08

关于设计模式的资料,还是向大家推荐banq的网站 http://www.jdon.com/,他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。

金色的骷髅 发表于 2015-3-24 01:59:06

是一种语言,用以产生「小应用程序(Applet(s))
页: [1]
查看完整版本: 了解下JAVA的JUnit 4.4新特征