好的,我在自定义 taglib 中有一个自定义 taglib,如下所示:
def preference = { attrs, body ->
def sliderTaglib = grailsApplication.mainContext.getBean('com.myCustom.sliderTagLib')
sliderTaglib.slider.call(attrs, body)
}
由于我正在使用grailsApplication.mainContext.getBean()
,我如何在单元测试中模拟它?我的测试抱怨:
grails Error executing tag No bean named is defined...
我尝试了各种方法来模拟它,但无济于事。但是,当我运行应用程序时,它可以正常运行,只是测试失败了。我正在使用 grails 2.3.9 和 spock。:(
我的测试如下所示:
void "taglib should output a slider"() {
when:
def result = applyTemplate("""
<a:preference class='slider'/>
""")
then:
result == "<div class='slider'></div>"
}