2013-02-01 24 views
12

नहीं है, तो मैं मौजूदा ऐप-सर्वर (टॉमकैट) उत्पाद में कुछ अतिरिक्त जुनीट परीक्षण जोड़ने की कोशिश कर रहा हूं। मैंने (मौजूदा और फ़ील्ड) कस्टम ट्रस्टमैनेजर के साथ एक समस्या में भाग लिया है। यह चीज उत्पादन में ठीक काम करती है, लेकिन जुनीट के दौरान अपवाद देता है।जब कोई ट्रस्टमैनेजर फैक्ट्री ट्रस्टमैनेजर फैक्टरी (जावा)

कस्टमाइज्ड ट्रस्टमैनेजर केवल पथ से एक कीस्टोर लोड करता है, और निस्संदेह हमारे सार्वजनिक कर्ट पर भरोसा करता है।

TrustManagerFactory tmFactory = TrustManagerFactory.getInstance("PKIX");  

अपवाद:: किसी कारण से, JUnits में इस का उपयोग करते हुए निम्न पंक्ति पर एक अपवाद का कारण बनता है

java.security.NoSuchAlgorithmException: class configured for TrustManagerFactory: com.sun.net.ssl.internal.ssl.TrustManagerFactoryImpl$PKIXFactory not a TrustManagerFactory 

यह अपवाद क्या प्रदाता की परवाह किए बिना जगह लेता/एल्गोरिथ्म संयोजन उपयोग किया जाता है ("SunX509", .getDefaultAlgorithm(), et al।)।

किसी भी अंतर्दृष्टि की सराहना की जाएगी।

+0

जो तुम JVM प्रयोग करते हैं से लिया जाता है: उस के लिए समाधान परीक्षण वर्ग पर टिप्पणी के उपयोग करने के लिए है? – zibi

+0

AFAICT, आइडिया% JAVA_HOME% का उपयोग कर रहा है, जो हल करता है: 'जावा संस्करण "1.6.0_23" ' ' जावा (टीएम) एसई रनटाइम पर्यावरण (1.6.0_23-बी05 का निर्माण)' 'जावा हॉटस्पॉट (टीएम) 64 -बिट सर्वर वीएम (1 9.0-बी 0 9, मिश्रित मोड का निर्माण) ' –

+0

ऐसा लगता है कि जुनीट ने सुरक्षा प्रदाताओं कॉन्फ़िगरेशन को किसी तरह से गड़बड़ कर दिया है। – EJP

उत्तर

26

ठीक है, ऐसा लगता है कि PowerMock SSL समस्याओं के साथ गड़बड़ कर रहा है और इस प्रकार, आप गलत फैक्ट्री लोड करने में भाग लेते हैं।

@PowerMockIgnore("javax.net.ssl.*") 

इस https://groups.google.com/forum/#!topic/powermock/v4nreP2AnOQ

+0

बिल्कुल सही :) धन्यवाद! – CoderSpinoza