gpt4 book ai didi

unit-testing - grails/groovy:单元测试时如何访问保存的域对象?

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

我试图在单元测试期间访问保存的域对象,所以当 Controller 方法将域类保存在单元测试范围之外时,我可以访问它以测试其上设置的属性。

一直在查看domainClassesInfo(DefaultArtefactInfo),从查询中保存了MetaClasses,但没有成功。

这看起来应该很容易-

void testMyControllerMethod() {
mockDomain(MyDomainClass)
controller.myControllerMethod()
//get MyDomainClass instance here for test assertions
//assertEquals value1, myDomainClass.attribute1
}

然后在 Controller 中:
def MyControllerMethod() {
//do stuff
MyDomainClass myDomainClass = new MyDomainClass(attribute1:value1,attribute2:value2)
myDomainClass.save()
}

任何想法如何提取保存的域类,不胜感激

最佳答案

如果 Controller 是唯一一个保存MyDomainClass的新实例的 Controller ,那么您应该能够这样做:

void testMyControllerMethod() {
mockDomain(MyDomainClass)
controller.myControllerMethod()
//get MyDomainClass instance here for test assertions
def result = MyDomainClass.list()[0]

assertEquals value1, result.attribute1
}

关于unit-testing - grails/groovy:单元测试时如何访问保存的域对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5976691/

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