मैं अपने प्रोजेक्ट के लिए ग्रेल्स स्प्रिंग सिक्योरिटी प्लगइन का उपयोग करता हूं और अब यूनिट को अपने कोड का परीक्षण करना चाहता हूं। मैं अपने नियंत्रक में निम्न कोड है:Grails स्प्रिंग सुरक्षा परीक्षण
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)
मैं एक वसंत सुरक्षा उपयोगकर्ता कैसे प्रमाणित कर सकते हैं
def index() {
redirect action: 'show', params: [id: springSecurityService.currentUser.id]
}
मेरे टेस्ट कक्षा निम्नलिखित कोड है एक परीक्षण मामले में? आप इकाई परीक्षण कैसे लिखेंगे?
मेरी नियंत्रक में मेरे पास है: वर्ग UserController { \t \t डीईएफ़ springSecurityService ... – Nadya
मुझे लगता है कि लिख चाहिए ControllerTest में? – Nadya
@ user1726376 नहीं, आपको कंट्रोलरटेस्ट में इसकी आवश्यकता नहीं है। मैं बस यह सुनिश्चित कर रहा था कि आपके पास 'springSecurityService' का संदर्भ था, इस तथ्य के कारण कि आपके पास त्रुटि संदेश "प्रॉपर्टी नहीं मिल सकता है" वर्तमान उपयोगकर्ता' शून्य ऑब्जेक्ट पर '। –