gpt4 book ai didi

unit-testing - Grails listOrder中单元测试中的@Mock域对象动态查找器抛出异常

转载 作者:行者123 更新时间:2023-12-02 14:54:14 25 4
gpt4 key购买 nike

我正在为grails Controller 编写单元测试。这是代码片段:

@TestFor(MyController)
@Mock([MyDomain])
class MyControllerTests {

void testController() {
...
...
}
}

域对象如下所示:
class MyDomain {
static constraints = {
name(nullable: false)
parent(nullable: true)
}

static belongsTo = Industry

static hasMany = [children: Industry]

Industry parent
String name
}

我正在测试的 Controller 中的方法称为此GORM动态方法:
MyDomain.listOrderByParent()

当执行执行到此行时,测试失败,并且异常对我而言意义不大,因为@Mock批注应该添加了所有动态方法:
groovy.lang.GroovyRuntimeException: Cannot compare com.stuff.MyDomain with value 'com.stuff.MyDomain : 1' and com.stuff.MyDomain with value 'com.stuff.MyDomain : 4'
at org.grails.datastore.mapping.simple.query.SimpleMapQuery$_executeQuery_closure63_closure155.doCall(SimpleMapQuery.groovy:78)

运行grails应用程序时, Controller 工作正常。有任何想法吗?

最佳答案

您可以模拟行业域对象
以及:

@Mock([MyDomain, Industry])

关于unit-testing - Grails listOrder中单元测试中的@Mock域对象动态查找器抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13318158/

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