मेरे पास @ सुरक्षित के साथ एनोटेटेड एक सशर्त विधि है। मैं इस विधि के लिए एक यूनिट टेस्ट लिखने की कोशिश कर रहा हूं, लेकिन मेरा परीक्षण विफल रहता है क्योंकि मुझे विधि को कॉल करने के लिए प्रमाणीकरण की आवश्यकता है। विधि स्वयं, सहेजने() विधि होती है। त्रुटि मैं जब मैं विधि कॉल है:मैकिंग प्रमाणीकरण वसंत सुरक्षा
org.springframework.security.authentication.AuthenticationCredentialsNotFoundException: An Authentication object was not found in the SecurityContext
मैं इस विधि का परीक्षण नहीं कर सकते क्योंकि यह प्रमाणीकरण की आवश्यकता है, और मैं के खिलाफ प्रमाणित करने के लिए कोई उपयोगकर्ता नहीं बचा सकता है (मैं HSQLDB उपयोग कर रहा हूँ) क्योंकि मैं इस कॉल करने के लिए की आवश्यकता होगी बचाने के लिए विधि। @secured के साथ एनोटेटेड विधि या प्रमाणीकरण को नकल करने के तरीके को यूनिट करने के तरीके के बारे में कोई सलाह।
दुर्भाग्य से मैं यह नहीं कर सकता। मेरा प्रमाणीकरण प्रबंधक एक कस्टम userDetailService है जो उपयोगकर्ता को डेटाबेस से लाने के लिए मेरे भंडार का उपयोग करता है। इसलिए यदि मैं उपयोगकर्ता को दृढ़ता से सहेज नहीं सकता, तो उपयोगकर्ताDetailsService उपयोगकर्ता को नहीं ढूंढ पाएगा, और इस प्रकार एक BadCredentials अपवाद में परिणाम होगा। –
@vikashdat: – axtavt