我正在尝试模拟控制器的操作概述,但它无效。
我试过这种方式:
MyController.metaClass.overview = { ->
println "MOCKED OVERVIEW"
render(view:"overview", model)
}
MyController.metaClass.demand.overview = { ->
println "MOCKED OVERVIEW"
render(view:"overview", model)
}
MyController.metaClass.static.overview = { ->
println "MOCKED OVERVIEW"
render(view:"overview", model)
}
这一切都行不通。
但我使用.metaClass来模拟一些服务,并且它起作用了。
为什么这个动作不起作用?
从未显示过println的声明。
答案 0 :(得分:1)
在Grails的引导过程中需要执行操作 - 以生成URL和所有Spring bean。初始化应用程序后,您无法覆盖它(这很容易)。
无论如何,你不需要 - 行动应该简单。任何可测试的逻辑都应该是可测试的。