# Grails 1.1 测试 Web Flows - 测试标签库

**URL:** <https://www.isharkfly.com/t/grails-1-1-web-flows/1849>\
**Category:** 程序语言\
**Created:** [November 4, 2012, 7:04pm UTC](https://www.isharkfly.com/t/grails-1-1-web-flows/1849 "2012-11-04T19:04:47Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [November 4, 2012, 7:04pm UTC](https://www.isharkfly.com/t/grails-1-1-web-flows/1849/1 "2012-11-04T19:04:47Z")

</div>

其实测试标签库是一件很容易的事，因为当一个标签被当作一个方法执行时，它会返回一个字符串值。

所以例如你拥有如下的一个标签库：`class FooTagLib {
def bar = { attrs, body ->
out << "<p>Hello World!</p>"
}
def bodyTag = { attrs, body ->
out << "<${attrs.name}>"
out << body()
out << "</${attrs.name}>"
}
}`相应的测试如下：`class FooTagLibTests extends GroovyTestCase {
void testBarTag() {
assertEquals "<p>Hello World!</p>", new FooTagLib().bar(null,null)
}
void testBodyTag() {
assertEquals "<p>Hello World!</p>", new FooTagLib().bodyTag(name:"p") {
"Hello World!"
}
}
}`注意在第二个例子的testBodyTag中，我们传递了返回标签主体内容的代码块作为内容，把标签主体内容作为字符串比较方便。
