Grails 在集成测试中未触发GORM事件

Grails 在集成测试中未触发GORM事件,grails,gorm,grails-domain-class,Grails,Gorm,Grails Domain Class,尝试在具有beforeDelete事件的对象上集成测试Grails GORM delete。问题是集成测试中未触发beforeDelete事件: class ChallengeMembershipTests extends GroovyTestCase { void testQuitChallenge() { VUser user = VUser.build() assertNotNull("user should be saved", user.id)

尝试在具有beforeDelete事件的对象上集成测试Grails GORM delete。问题是集成测试中未触发beforeDelete事件:

class ChallengeMembershipTests extends GroovyTestCase {
     void testQuitChallenge() {
      VUser user = VUser.build()
      assertNotNull("user should be saved", user.id)
      UserChallenge challenge = UserChallenge.build(owner: user)
      assertNotNull("challenge should be saved", challenge.id)

      ChallengeMember member = ChallengeMember.build(challenge: challenge)
      println "MEMBER: ${member}"
      assertNotNull("member should be saved", member.id)
      member.delete(flush:true)        

  }
}
ChallengeMember的相关部分:

  def beforeDelete = {
      log.info "begin deleting challenge member ${this}"
      user.removeFromChallenge_memberships(this)
      challenge?.removeFromParticipants(this)
      team?.removeFromMembers(this)
      log.info "deleting challenge member ${this}"
  }
Grails1.3.5

有什么建议吗

我为什么在乎

由于以下原因,我的测试失败:

org.springframework.dao.InvalidDataAccessApiUsageException:删除的对象将通过级联重新保存(从关联中删除删除的对象):[com.v.ChallengeMember#1];嵌套异常为org.hibernate.ObjectDeletedException:删除的对象将通过级联重新保存(从关联中删除删除的对象):[com.v.ChallengeMember#1]


但是,delete在浏览器中可以正常工作,因为beforeDelete正在启动。

如果我在WithNews会话中换行,它将启动-

ChallengeMember.withNewSession {
   membership.delete(flush:true)
}