0

在 grails 运行应用程序休眠期间,事件会定期触发而不会出现问题。但是,在每个集成测试用例中,这些相同的事件不会触发。以下是将我的代码精简为最简单形式的精髓。甚至在集成测试期间使用休眠?是否有不同的测试方法可以应用?欢迎提出建议或意见。

集成测试

    @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'
        }
    }

资源.groovy

    beans = { service(MyService)

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

1 回答 1

2

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

于 2012-07-24T21:58:26.300 回答