问题描述
在应用程序中更新测试时,创建新的HibernateDatastore时,域中的字符串默认值会导致问题。尝试访问域时出现错误
原因:org.h2.jdbc.JdbcSQLException:未找到表“ PERSON”;
由于某种原因,该表根本没有建立,但是删除字符串默认值将起作用。
域
@ToString(includeNames=true,includePackage=false)
class Person{
EnumType type = EnumType.Human
Long age = 10
String name = "StandardName"
static mapping = {
version false
type defaultValue: EnumType.Human
age defaultValue: 10
name defaultValue: "StandardName"
}
}
UnitTest
class PersonServiceSpec extends Specification implements DataTest,BuildDataTest {
@Shared
InterviewModelService interviewModelService
@Shared
HibernateDatastore hibernateDatastore
@Shared
PlatformTransactionManager transactionManager
def setupSpec() {
mockDomain Person
hibernateDatastore = new HibernateDatastore(Person)
transactionManager = hibernateDatastore.getTransactionManager()
interviewModelService = hibernateDatastore.getService(PersonService)
}
def setup() {
}
def cleanup() {
}
@Transactional
void "test criteria builder for getting interview models"() {
setup:
Person.build(name: 'steve')
when:
def x = Person.findAll()
then:
x.size() == 3
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)