hibernate - 域类的Grails单元测试(Gorm)

标签 hibernate unit-testing grails gorm grails-domain-class

开始使用grails进行游戏,我想评估GORM,因此我使用Spring Tool Suite创建了一个域类:ClientnamevatNumberregNumber,并且测试类是自动创建的。

我添加的单元测试代码是:

package pilot1

import grails.test.*

class ClientTests extends GrailsUnitTestCase {
    protected void setUp() {
        super.setUp()
    }

    protected void tearDown() {
        super.tearDown()
    }

    void testSomething() {
        def instances = []
        def myTestDomain = mockDomain(Client, instances)
        def client = new Client(name:"Test",vatNumber:"323",regNumber:"343")
        client.id =1;
        assertEquals client.name, "Test"
        client.save();
        def res = Client.findByName("Test")
        println instances
        println res
        //assertEquals 1, instances.size()
    }
}

结果为[],并且为空!我做错什么了?

另外,我还希望在后台看到GORM(休眠)生成的SQL。知道我将如何在Grails中这样做吗?

最佳答案

不要这样做:client.id = 1;

save()将提供一个ID。

您可能需要保存(flush:true)。

只需保存并使用,然后使用ID即可获取。

然后进行测试。

该链接可能有用:http://blog.springsource.com/2011/06/07/countdown-to-grails-1-4-unit-testing/

关于hibernate - 域类的Grails单元测试(Gorm),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6335172/

相关文章:

java - "org.hibernate.DuplicateMappingException"错误是什么意思?

java - 找不到类型 : java. lang.Long 的 validator 。带帖子ID

java - (MockEJB) 从容器内测试中获取模拟实体 bean

unit-testing - 模拟命令失败

javascript - 如何对 TweenMax 进行单元测试?潜在的模拟?

grails - 种子种子插件的种子文件中如何循环播放?

java - 具有可嵌入主键的表的 SQLGrammarException

java - Hibernate 是否自动在数据库中创建表

java - 如何在Grails 3中捕获 “org.springframework.web.multipart.MultipartException”

grails - grails 2.3.9 的 Cobertura 插件不起作用