开始使用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()
}
}
结果为[],并且为空!我做错什么了?
另外,我还希望在后台看到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/