发布一篇精晓Grails - 利用Grails举行单位测试(单位测试提速)
前些天,在CSDN上看到了一个消息,说是net网页编程网页编程AJAX成功在Linux上运行,这一点对我触动很大,而且引发了我许多感叹,所以想写出来分享一下。在本期精晓Grails中,ScottDavis向您展现怎样使用Grails中包括的GrailsUnitTestCase和ControllerUnitTestCase类的内置摹拟功效。
Grails撑持两种基础的测试范例:单位测试和集成测试。两种测试的语法完全不异:都被利用不异的断言编写为一个GroovyTestCase。它们之间的区分在于语义上。单位测试用于在断绝情况下测试类,而集成测试撑持在完全的、正在运转的情况中测试类。
该文章是依据事先最新的Grails1.0版本编写的,在该版本中,测试基本架构的功效失掉了明显改善。GrailsUnitTestCase类及其子类的引进将流程测试的复杂性和周全性提拔到了一个全新的程度。详细来说,这些新测试类的摹拟功效提拔了单位测试的速率,同时可以像在集成测试中一样一般测试功效。展现了Grails1.1.x中全新的测试条理布局:
.Grails1.1.x中全新的测试条理布局
<br>
当您鄙人一节中创立一个新的域类和把持器时,您将懂得怎样实践使用GrailsUnitTestCase和ControllerUnitTestCase。
入手下手
要实行本文中的示例,起首创立一个新使用程序。在命令提醒符下键进:
grails create-app testing
变动到测试目次(cdtesting),然后键进:
grails create-domain-class User
接上去键进:
grails create-controller User
将清单1中的代码增加到grails-app/domain/User.groovy中:
清单1.User域类
class User {
String name
String login
String password
String role = "user"
static constraints = {
name(blank:false)
login(unique:true, blank:false)
password(password:true, minSize:5)
role(inList:["user", "admin"])
}
String toString(){
"${name} (${role})"
}
}
界说grails-app/controller/UserController.groovy的中心举动,如清单2所示:
清单2.UserController类
class UserController {
def scaffold = true
}
如今基础的基本架构已停当了,接上去增加一些测试。
<p>
比如模式、敏捷方法什么的,这些思想好,但是实施的人没有理解而且没有正确运用这些知识导致了开发周期的延长。比如说对象,通过getName()方法不能获取对象的名字。 Jive的资料在很多网站上都有,大家可以找来研究一下。相信你读完代码后,会有脱胎换骨的感觉。遗憾的是Jive从2.5以后就不再无条件的开放源代码,同时有licence限制。不过幸好还有中国一流的Java程序员关注它,外国人不开源了,中国人就不能开源吗?这里向大家推荐一个汉化的Jive版本—J道。Jive(J道版)是由中国Java界大名 鼎鼎的banq在Jive 2.1版本基础上改编而成, 全中文,增加了一些实用功能,如贴图,用户头像和用户资料查询等,而且有一个开发团队在不断升级。你可以访问banq的网站 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 任职于太阳微系统的詹姆斯·高斯林等人于1990年代初开发Java语言的雏形,最初被命名为Oak,目标设置在家用电器等小型系统的程序语言 是一种使用者不需花费很多时间学习的语言 Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! 你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢? Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading) Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
页:
[1]