【发布时间】:2012-01-20 22:57:57
【问题描述】:
我有一个这样的用户类:
class User {
transient springSecurityService
String displayName
String password
<snip>
protected void encodePassword() {
password = springSecurityService.encodePassword(password)
}
}
还有一个UserController。
我正在尝试为UserController 编写单元测试,但是在保存、更新和删除测试时出现此错误:
java.lang.NullPointerException: Cannot invoke method encodePassword() on null object
我必须在模拟方式中设置什么才能使其正常工作?
我尝试了多种模拟代码的组合,例如以下,但我不知所措。
defineBeans {
springSecurityService(SpringSecurityService)
}
任何建议将不胜感激。
【问题讨论】:
-
我遇到了完全相同的问题。据我所知,根据文档,defineBeans() 应该可以工作。不幸的是,它没有效果。
标签: unit-testing grails mocking spring-security