grails - Grails无法实现Domain类

标签 grails gorm

我正在使用Grails 3.1.4,已经创建了一些域对象并编写了单元测试。
测试可以在我的计算机上正常执行。

Tests on my computer

但是在其他开发人员计算机和持续集成平台上,测试失败,但有以下异常(exception):

java.lang.IllegalStateException: Either class [ ] is not a domain class or GORM has not been initialized correctly or has already been shutdown. If you are unit testing your entities using the mocking APIs
at org.grails.datastore.gorm.GormEnhancer.stateException(GormEnhancer.groovy:159)
at org.grails.datastore.gorm.GormEnhancer.findValidationApi(GormEnhancer.groovy:173)
at org.grails.datastore.gorm.GormValidateable$Trait$Helper.currentGormValidationApi(GormValidateable.groovy:120)
at org.grails.datastore.gorm.GormValidateable$Trait$Helper.validate(GormValidateable.groovy:87)
at com.cscinfo.platform.constraint.CascadeValidationConstraint.validateValue(CascadeValidationConstraint.groovy:43)
at com.cscinfo.platform.constraint.CascadeValidationConstraint.processValidateWithVetoing_closure1(CascadeValidationConstraint.groovy:29)
at groovy.lang.Closure.call(Closure.java:426)
at com.cscinfo.platform.constraint.CascadeValidationConstraint.processValidateWithVetoing(CascadeValidationConstraint.groovy:28)
at grails.validation.AbstractVetoingConstraint.validateWithVetoing(AbstractVetoingConstraint.java:33)
at grails.validation.ConstrainedProperty.validate(ConstrainedProperty.java:967)
at org.grails.validation.GrailsDomainClassValidator.validatePropertyWithConstraint(GrailsDomainClassValidator.java:211)
at org.grails.validation.GrailsDomainClassValidator.validate(GrailsDomainClassValidator.java:81)
at org.grails.datastore.gorm.GormValidationApi.doValidate(GormValidationApi.groovy:89)
at org.grails.datastore.gorm.GormValidationApi.validate(GormValidationApi.groovy:161)
at org.grails.datastore.gorm.GormValidateable$Trait$Helper.validate(GormValidateable.groovy:87)
at api.mails.MailSpec.Test la validation d'un mail incorrect 2(MailSpec.groovy:66)

似乎GORM无法获取我的域对象。

我无法在计算机上重现该错误。
任何帮助或文档将不胜感激。
谢谢 !

最佳答案

问题是我的单元测试中有些对象没有被 mock 。
我在@Mock批注中放置了一个对象数组,现在,它可以在我的持续集成平台上使用。

@TestFor(SMTPMailerService)
@Mock([Mail, DestinataireMail, PieceJointeMail])
class SMTPMailerServiceSpec extends Specification {

希望它能对某人有所帮助!

关于grails - Grails无法实现Domain类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36446845/

相关文章:

grails - 使用 Grails Spring Security CAS 插件重定向循环

grails - 当hasMany没有任何元素时,选择Grails条件

grails - 使用对象列表进行Grails自定义验证

postgresql - Grails:是否可以查询PostgreSQL服务器版本?

Grails 命名空间问题

Grails 依赖项未作为库添加到 IntelliJ IDEA

oracle - 使用Grails时更新到Oracle 12.2 C数据库的Hibernate方言问题

grails - 具有hasMany的Grails类

java - IntelliJ 中的 Grails 默认内存设置

grails - 保存时发生Grails DB错误(没有域或没有标识符。)