Grails GORM映射导致单元测试失败
由于以下代码行,我在运行单元测试时遇到MissingMethodExceptionGrails GORM映射导致单元测试失败,grails,gorm,Grails,Gorm,由于以下代码行,我在运行单元测试时遇到MissingMethodException class SystemNotification { static mapping = { read column: 'rd' } . . } 这是结果stacktrace的相关位 groovy.lang.MissingMethodException: No signature of method: frontlinesms2.SystemNotification.
class SystemNotification {
static mapping = {
read column: 'rd'
}
.
.
}
这是结果stacktrace的相关位
groovy.lang.MissingMethodException: No signature of method:
frontlinesms2.SystemNotification.read() is applicable for argument types: () values: []
Possible solutions: read(java.io.Serializable), load(java.io.Serializable), isRead(), create(), getId(), grep()
at frontlinesms2.SystemNotification._clinit__closure1(SystemNotification.groovy:6)
删除read->rd映射允许测试通过。有没有想过不需要删除代码就可以解决这个问题?域类来自插件(如果相关的话)。该插件使用h2作为独立应用程序运行,但主机应用程序使用MySQL,其中“read”是一个保留关键字,这就是为什么我们首先要进行映射。Hmm因此,如果您希望更改列名,那么您必须执行以下操作,目前您使用read('x')作为方法:
class SystemNotification {
String read
static mapping = {
read column: 'rd'
}
}
测试失败是正确的。我的错误。我匆忙地输入了问题,但实际上是“阅读专栏:'rd'”。我将编辑问题以反映这一点。