gpt4 book ai didi

unit-testing - Grails 单元测试 : Json-Codec missing/How to mock Json-Codec?

转载 作者:行者123 更新时间:2023-12-02 15:12:32 30 4
gpt4 key购买 nike

我正在对 Controller 进行单元测试,目前我被服务(由 Controller 调用)中的“encodeAsJSON()”方法调用所困扰。

我得到了 MissingMethodException,我认为 encodeAsJSON() 是一个 Grails-Codec。

经过一番搜索 loadCodec -方法应该做我想做的。

但我无法导入它,因为我的 IDE(SpringSource-ToolSuite)找不到它。

错误:

import org.codehaus.groovy.grails.plugins.codecs.JSONCodec

一切正常:
import org.codehaus.groovy.grails.plugins.codecs.HTMLCodec

但我不需要 HTMLCodec 和 documentation没有列出 JSONCodec。

该方法本身仍在工作(运行应用程序),但我不知道如何对其进行单元测试。
有任何想法吗?我错过了一些明显的东西吗?

最佳答案

好吧,进一步的搜索和尝试让我得到了答案:

Map.metaClass.encodeAsJSON = { -> delegate }

我用的例子是
String.metaClass.encodeAsSha1 = { -> delegate }

( Source)

字符串不起作用 - 当然,因为我使用的是 map ,应该将其转换为 JSON。

我认为您必须在相应数据类型的 Groovy-Interface 上“模拟”(这是真正的模拟吗?)。

希望这对其他人有帮助

关于unit-testing - Grails 单元测试 : Json-Codec missing/How to mock Json-Codec?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11449300/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com