gpt4 book ai didi

单元测试 grails 标签

转载 作者:行者123 更新时间:2023-12-04 05:29:57 28 4
gpt4 key购买 nike

我写了一个 Grails 标签,它只是 Grails select tag 的一个非常薄的包装器。

package com.example

class MyTagLib {
def listTrees = {attrs ->
List<TreeDto> allTrees = getMandatoryAttributeValue(attrs, 'trees')
out << g.select(from: allTrees)
}
}

我已经为这个类编写了一个单元测试,但是当我运行它时,在执行最后一行时出现以下错误:

groovy.lang.MissingMethodException: No signature of method: com.example.MyTagLib.select() is applicable for argument types: (java.util.LinkedHashMap)

在运行单元测试时,似乎对 g 命名空间中的 grails 标记的引用不可用。我试过创建一个集成测试,但这也不起作用。

有没有一种方法可以测试调用另一个标签的标签,而无需 stub /模拟另一个标签的输出?

最佳答案

您必须模拟您正在使用的 grails 标签库并通过元类机制注入(inject)它。

protected void setUp() {
super.setUp()
mockTagLib(FormTagLib)
def g = new FormTagLib()
tagLib.metaClass.g = g
}

关于单元测试 grails 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6176930/

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