我正在盯着一個玩具項目Grails,但我在HSQLDB數據庫方面遇到了一些麻煩。我DataSource.groovy文件中是默認的:與Grails開發數據庫混淆
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"
}
}
}
而且我運行一個簡單的測試:在setUp()
方法
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())
}
}
的book.save()
後,我收到了「YEAH」,但在該testSomething()
方法,所述books.size()
原來是0
1測試類在包中發現「測試」
個YEAH 0進程退出代碼爲
我俯瞰的東西吃完了嗎?我的印象是這個HSQLDB是爲開發測試設置的,但我在兩種環境中都遇到了一些麻煩(無論是用這個測試還是用一個非常簡單的應用程序)。