活着的死人 发表于 2015-1-18 11:02:29

发布一篇详解怎样利用Spring举行单位测试

多谢指点,其实我对.net和ruby也不是很了解,对与java也只是刚起步的阶段,只是在学习中有了点想法就写出来了,现在俺本科还没毕业,所以对大型项目基本上也没有什么经验。
概述
单位测试和集成测试在我们的软件开辟全部流程中占据无足轻重的位置,一方面,程序员经由过程编写单位测试来考证本人程序的无效性,别的一方面,办理者经由过程延续主动的实行单位测试和剖析单位测试的掩盖率等来确保软件自己的质量。这里,我们先不谈单位测试自己的主要性,关于今朝年夜多半的基于Java的企业使用软件来讲,Spring已成了尺度设置,一方面它完成了程序之间的低耦合度,别的也经由过程一些设置削减了企业软件集成的事情量,比方和Hibernate、Struts等的集成。那末,有个成绩,在广泛利用Spring的使用程序中,我们怎样往做单位测试?大概说,我们怎样能高效的在Spring生态体系中完成各类单位测试手腕?这就是本文章要告知人人的事变。
单位测试今朝次要的框架包含Junit、TestNG,另有些MOCK框架,比方Jmock、Easymock、PowerMock等,这些都是单位测试的利器,可是当把他们用在Spring的开辟情况中,仍是那末高效么?还好,Spring供应了单位测试的壮大撑持,次要特征包含:
撑持支流的测试框架Junit和TestNG
撑持在测试类中利用依附注进DenpendencyInjection
撑持测试类的主动化事件办理
撑持利用各类正文标签,进步开辟效力和代码简便性
Spring3.1更是撑持在测试类中利用非XML设置办法和基于Profile的bean设置形式
经由过程浏览本文,您可以疾速的把握基于SpringTestContext框架的测试办法,并懂得基础的完成道理。本文将供应年夜量测试标签的利用办法,经由过程这些标签,开辟职员可以极年夜的削减编码事情量。OK,如今让我们入手下手Spring的测试之旅吧!
本来我们是怎样做的
这里先展现一个基于Junit的单位测试,这个单位测试运转在基于Spring的使用程序中,必要利用Spring的相干设置文件来举行测试。相干类图以下:
数据库表
假定有一个员工账号表,保留了员工的基础账号信息,表布局以下:
ID:整数范例,独一标识
NAME:字符串,登录账号
SEX:字符串,性别
AGE:字符串,岁数
假定表已建好,且内容为空。
测试工程目次布局和依附jar包
在Eclipse中,我们能够睁开工程目录布局,看到以下图所示的工程目次布局和依附的jar包列表:
您必要引进的jar包含:
cglib-nodep-2.2.3.jar
commons-logging.jar
hsqldb.jar
Junit-4.5.jar
log4j-1.2.14.jar
Spring-asm-3.2.0.M1.jar
Spring-beans-3.2.0.M1.jar
Spring-context-3.2.0.M1.jar
Spring-core-3.2.0.M1.jar
Spring-expression-3.2.0.M1.jar
Spring-jdbc-3.2.0.M1.jar
Spring-test-3.2.0.M1.jar
Spring-tx-3.2.0.M1.jar
testng-6.8.jar
个中的hsqldb是我们测试用数据库。
.工程目次布局

<p>
再说说缺点:首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。

冷月葬花魂 发表于 2015-1-18 17:00:30

学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。

不帅 发表于 2015-1-19 18:52:11

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

admin 发表于 2015-1-26 17:17:30

Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。

再现理想 发表于 2015-2-2 07:25:12

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。

愤怒的大鸟 发表于 2015-2-7 17:04:11

一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从

海妖 发表于 2015-2-22 17:18:20

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

简单生活 发表于 2015-3-7 00:59:33

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

山那边是海 发表于 2015-3-13 23:10:50

吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧

只想知道 发表于 2015-3-20 22:10:57

不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。
页: [1]
查看完整版本: 发布一篇详解怎样利用Spring举行单位测试