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}" }
Grails 1.3.5
有什么建议?
我为什么在意?
由于以下原因,我的测试失败了:
org.springframework.dao.InvalIDDataAccessAPIUsageException:已删除的对象将通过级联重新保存(从关联中删除已删除的对象):[com.v.ChallengeMember#1];嵌套异常是org.hibernate.ObjectDeletedException:已删除的对象将通过级联重新保存(从关联中删除已删除的对象):[com.v.ChallengeMember#1]
但是,删除在浏览器中工作正常,因为beforeDelete正在被触发.
解决方法 好吧,如果我在withNewSession中输入它会触发 –ChallengeMember.withNewSession { membership.delete(flush:true)}总结
以上是内存溢出为你收集整理的grails – GORM事件未在集成测试中触发全部内容,希望文章能够帮你解决grails – GORM事件未在集成测试中触发所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)