Tomás Lin在其博客中公布了一套面试Grails开发人员的题目,本站将陆续公布问题的答案。今天公布的是测试部分的试题回答。
测试
- 在单元测试中如何添加配置项?
import org.codehaus.groovy.grails.commons.ConfigurationHolder
//添加配置项
mockConfig '''
you.test.configitem = "groovyq"
'''
//获取配置项
ConfigurationHolder.config.you.test.configitem
在单元测试时,可以使用这个方法对Domain Class 进行Mock,用于模拟Domain Class。替代用法是使用mockFor。
- unit:单元测试类型
- integration:集成测试类型
- spock:这是Spock插件添加的测试类型,可用于unit、integration和functional测试阶段。
- 自定义:可自定义测试类型,具体参见Custom Grails Test Types/Phases。
controller.request.contentType = 'text/xml'
controller.request.contents = '''
<?xml version="1.0" encoding="ISO-8859-1"?>
<book>
<title>The Stand</title>
...
</book>
'''.getBytes()
该方法可以直接获得标签库的结果,可对页面元素进行测试,通常用于集成测试。
页面对象表示应用中特定的页面,其中定义了方法和属性,以便于测试与页面进行交互。
Selenium RC插件提供了页面对象的支持。关于它的使用,请参见本站的用Selenium RC插件测试远程应用
缺省况下,Grails不会在控制台上输出测试类中的log.info/print/println,如果希望显示,可以使用-echoOut和-echoErr参数,用法如下:
grails test-app -echoOut -echoErr
//测试SimpleControllerTest中的testLogin方法 grails test-app SimpleController.testLogin
『编者注』:one single method这里提供的用法有误。
关于Grails的测试细节,亦可参见本站的Grails 1.2参考文档速读(17):测试。

最新评论
9 周 6 小时之前
9 周 1 天之前
11 周 5 天之前
11 周 5 天之前
17 周 2 天之前
17 周 4 天之前
19 周 3 天之前
20 周 1 天之前
20 周 2 天之前
20 周 5 天之前