我爲我的項目使用了Grails Spring Security Plugin,現在想單元測試我的代碼。我有下面的代碼在我的控制器:Grails Spring Security Testing
def index() {
redirect action: 'show', params: [id: springSecurityService.currentUser.id]
}
我測試類具有下面的代碼:
void testIndex() {
controller.index()
assert "/user/list" == response.redirectedUrl
}
該測試失敗:
| Running 8 unit tests... 1 of 8
| Failure: testIndex(xxx.UserControllerTests)
| java.lang.NullPointerException: Cannot get property 'currentUser' on null object
at xxx.UserController.index(UserController.groovy:12)
at xxx.UserControllerTests.testIndex(UserControllerTests.groovy:19)
我如何可以驗證彈簧安全用戶在一個測試案例中?你會如何編寫單元測試?
在我的控制,我有: 類UserController的{ \t \t高清springSecurityService ... – Nadya
我應該寫下來的ControllerTest? – Nadya
@ user1726376不,你不應該在ControllerTest中需要它。我只是確保你有一個'springSecurityService'的引用,因爲你有錯誤消息「無法獲得屬性'currentUser'在空對象上」。 –