我正在尝试模拟Controller的概述 Action ,但是它不起作用。
我尝试过这种方式:
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语句。
最佳答案
在Grails的引导过程中,必须有操作-为了生成URL和所有Spring Bean。初始化应用程序后,您不能覆盖它(那么简单)。
无论如何,您根本不需要- Action 应该很简单。任何可测试的逻辑都应可单独测试。
关于grails - 在Grails中使用metaClass模拟 Action ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6817473/