我正在对一个控制器进行单元测试,目前我被困在一个服务(由控制器调用)中的"encodeAsJSON()“方法调用中。
我得到了MissingMethodException,因为encodeAsJSON()是一个Grails-Codec。
在搜索了一下loadCodec之后,-Method应该可以执行我想要的操作。
但是我无法导入它,因为我的IDE (SpringSource-ToolSuite)找不到它。
错误:
import org.codehaus.groovy.grails.plugins.codecs.JSONCodec一切正常:
import org.codehaus.groovy.grails.plugins.codecs.HTMLCodec但是我不需要HTMLCodec,而且documentation也没有列出JSONCodec。
方法本身仍然有效(运行应用程序),但我不知道如何对其进行单元测试。有什么想法吗?我是不是漏掉了什么明显的东西?
发布于 2012-07-13 03:39:41
好吧,进一步的搜索和尝试给了我答案:
Map.metaClass.encodeAsJSON = { -> delegate }我使用的例子是
String.metaClass.encodeAsSha1 = { -> delegate }(Source)
字符串不起作用-当然,因为我使用的是Map,它应该转换为JSON。
我认为你必须“嘲笑”(这是真正的嘲笑吗?)它位于相应数据类型的Groovy接口上。
希望这对其他人有帮助
https://stackoverflow.com/questions/11449300
复制相似问题