【发布时间】:2011-09-14 04:16:25
【问题描述】:
开始使用 grails,我想评估 GORM,所以我使用 Spring Tool Suite 创建了一个域类:Client 和 name、vatNumber 和 regNumber,并且自动创建了测试类。
我添加的单元测试代码是:
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()
}
}
结果是 [] 和 null!我做错了什么?
另外,我还想看看 GORM (Hibernate) 在幕后生成的 SQL。知道如何在 Grails 中做到这一点吗?
【问题讨论】:
-
如果你用这个作为单元测试,Hibernate 并没有实际使用,也没有 SQL 的使用。这一切都被嘲笑了,一些更微妙的查询(其中大部分,在我有限的经验中)往往找不到东西。集成测试做真正的 Hibernate 工作。
-
我读过一些关于这个的东西,但我不确定!嗯,这很奇怪来自 java...
标签: hibernate unit-testing grails grails-orm grails-domain-class