Service Unit Test 不能调用 GORM save() 等方法的问题
Either class [homemaking.domain.account.Role] is not a domain class or GORM has not been initialized correctly or has already been shutdown. Ensure GORM is loaded and configured correctly before calling any methods on a GORM entity.
原因:
发现是修改了 domain 所在的包名导致的问题,如果不改包名,就不会有问题。
具体来说就是 domain 测试类所在的包名必须对应 domain 所在的包名,即 测试类是 homemaking.UserServiceSpec 那么 domain class 必须在 homemaking 包下!
并且和 profile 没有多大关系,即 profile = rest-api-plugin 的也能正确执行 service unit test!
因此,当报告 “is not a domain class or GORM has not been initialized correctly”错误时,需要检查:
- 测试类是否 extends HibernateSpec 而非 Specification
- 测试类的包是否和domain 类的包名一致