Grails hibernate事件在集成测试期间不会触发

时间:2012-07-24 20:38:20

标签: hibernate grails integration-testing gorm

在grails run-app中,hibernate事件会定期触发而不会出现问题。但是,在每个集成测试用例期间,这些相同的事件都不会触发。下面是我的代码的本质,削减到最简单的形式。即使在集成测试期间使用也是休眠吗?是否有可以应用的不同测试方法?建议或意见是最受欢迎的。

集成测试

    @Mock ([User])
    class SomeIntegrationTests  {
         @Test
         void testSomething () {
               new User().save(flush: true)
         }

   }

控制器

    class Controller implements SaveOrUpdateEventListener {
        public void onSaveOrUpdate(SaveOrUpdateEvent event) throws HibernateException {
            print 'event fired'
        }
    }

resources.groovy

    beans = { service(MyService)

        hibernateEventListeners(HibernateEventListeners) {
           listenerMap=['save-update' : service, 'delete' : service]
        }
    }

1 个答案:

答案 0 :(得分:2)

您正在嘲笑您的User域类。在模拟域类时,不使用hibernate。如果删除@Mock([User]),将使用真实域对象,包括hibernate。