Ich benutze das Grails Spring Security Plugin für mein Projekt und wollen nun Einheit meinen Code testen. Ich habe den folgenden Code in meinem Controller:Grails Spring Security Testing
def index() {
redirect action: 'show', params: [id: springSecurityService.currentUser.id]
}
My Test-Klasse hat den folgenden Code:
void testIndex() {
controller.index()
assert "/user/list" == response.redirectedUrl
}
Dieser Test schlägt fehl:
| 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)
Wie kann ich eine Feder Sicherheits Benutzer authentifizieren in einem Testfall? Wie würden Sie den Komponententest schreiben?
In meinem Controller habe ich: Klasse Usercontroller { \t \t def springSecurityService ... – Nadya
Soll ich schreiben, dass in der ControllerTest nach unten? – Nadya
@ user1726376 Nein, Sie sollten es nicht im ControllerTest brauchen. Ich habe nur sichergestellt, dass Sie einen Verweis auf "springSecurityService" aufgrund der Tatsache, dass Sie die Fehlermeldung "Kann die Eigenschaft 'currentUser' auf Null-Objekt nicht bekommen". –