我工作的一个新的Grails项目,并注意到最近在Spring Security的核心默认约定生成用户类现在自动编码通过beforeInsert /更新事件的密码。 这是一个不错的,干净,干燥做编码的方式,并且也使得它不可能忘记这样做。
然而,尝试写一些单元测试,其利用所述用户类的现在时,我发现我要么嘲笑了springSecurityService(由于编码),或更优选(和清洁),我只是覆盖beforeInsert /更新关闭一个,什么也不做。 通常在Groovy一个可以覆盖使用ExpandoMetaClass的方法,阿拉...
User.metaClass.beforeInsert = { /* do nothing */ }
......但我发现,原来beforeInsert继续在创建并保存新的用户调用。 这反过来又使我的单元测试炸毁。 这是微不足道的,我只是解决这一点,并模拟出该服务,但上面的应该工作 。 我缺少的东西吗? 有没有用,我不是捡格姆的事件闭包不同的东西?