除了上述简单的标签库测试方法之外,你也可以使用grails.test.GroovyPagesTestCase类测试标签库。
GroovyPagesTestCase类是常见GroovyTestCase的子类,它为GSP显示输出提供实用方法。
GroovyPagesTestCase类只能在集成测试中使用。
举个时间格式化标签库的例子,如下:class FormatTagLib {
def dateFormat = { attrs, body ->
out << new java.text.SimpleDateFormat(attrs.format) << attrs.date
}
}
可以按如下方法进行测试:class FormatTagLibTests extends GroovyPagesTestCase {
void testDateFormat() {
def template = '<g:dateFormat format="dd-MM-yyyy" date="${myDate}" />'
def testDate = … // create the date
assertOutputEquals( '01-01-2008', template, [myDate:testDate] )
}
}
你也可以使用GroovyPagesTestCase的applyTemplate方法获取GSP的输出结果:class FormatTagLibTests extends GroovyPagesTestCase {
void testDateFormat() {
def template = '<g:dateFormat format="dd-MM-yyyy" date="${myDate}" />'
def testDate = … // create the date
def result = applyTemplate( template, [myDate:testDate] )
assertEquals '01-01-2008', result
}
}