【发布时间】:2011-03-17 03:42:35
【问题描述】:
我正在用Grails 盯着一个玩具项目,但我在HSQLDB 数据库方面遇到了一些麻烦。我的 DataSource.groovy 文件是默认文件:
environments {
development {
dataSource {
dbCreate = "create-drop" // one of 'create', 'create-drop','update'
url = "jdbc:hsqldb:mem:devDB"
loggingSql = true
}
}
test {
dataSource {
dbCreate = "update"
url = "jdbc:hsqldb:mem:testDb"
loggingSql = true
}
}
production {
dataSource {
dbCreate = "update"
url = "jdbc:hsqldb:file:prodDb;shutdown=true"
}
}
}
我正在运行一个简单的测试:
class BookTests extends GrailsUnitTestCase {
protected void setUp() {
super.setUp()
mockDomain (Book)
def book = new Book ("The shinning","Some guy who wrote it")
if (book.save()){
println ("YEAH")
}
else{
print ("AWWWWHH")
}
}
protected void tearDown() {
super.tearDown()
}
void testSomething() {
def books = Book.getAll()
print (books.size())
}
}
在setUp() 方法中的book.save() 之后,我得到一个“YEAH”,但在testSomething() 方法中,books.size() 原来是0。
在包'test'中找到1个测试类
YEAH 0 进程以退出代码结束
0
我是否忽略了什么?我的印象是这个 HSQLDB 是为开发测试而设置的,但我在这两种环境中都遇到了一些问题(无论是这个测试,还是一个非常简单的应用程序。)
【问题讨论】:
标签: grails datasource hsqldb