2015-06-11 7 views
6

मुझे एक स्थिर विधि के अंदर UrlEncode.encode विधि का मज़ाक उड़ा रहा है।एक स्थैतिक विधि में UrlEncoder का मजाक

MyEncodeClass.java इस विधि

public static myEncode(String s) { 
    UrlEncoder.encode(s, "utf-8"); 
} 

मैं जब UrlEncode.encode विधि कहा जाता है एक अपवाद फेंक बाध्य करना चाहते है।

@Test(expect = UnsupportedEncodingException.class) 
public void myTest() { 
    PowerMockito.mockStatic(URLEncoder.class);   
    when(URLEncoder.encode("aa", "utf-8")).thenThrow(UnsupportedEncodingException.class);  
    MyEncodeClass.myEncode("aa"); 
} 

लेकिन मैं हमेशा निम्न अपवाद

Caused by: java.lang.NoSuchMethodError: org.mockito.mock.MockCreationSettings.isUsingConstructor()Z 
+0

जबकि मैं आपके परीक्षणों में कोड कवरेज के प्रति समर्पण का सम्मान करता हूं, आप गंभीर रूप से एक असमर्थित एन्कोडिंग अपवाद की नकल करने की कोशिश कर रहे हैं) एक देव टाइपो या बी) यूटीएफ -8 अब समर्थित नहीं है? क्या घातक त्रुटि और सिस्टम से बाहर निकलना आसान नहीं होगा? (क्षमा करें, मैं वास्तव में आपकी समस्या से आपकी सहायता नहीं कर सकता, क्योंकि मैं EasyMock से अधिक जटिल नहीं करता हूं। हालांकि शुभकामनाएं) –

+0

हाँ मुझे पता है कि यह एक बहुत ही मुड़ता हुआ मामला है। यदि बहुत अधिक है तो मैं इसे एक स्पष्टीकरण के साथ छोड़ सकता हूं क्यों। – hurric

+0

नहीं, यह सब अच्छा है, जो भी आप करना चाहते हैं, लेकिन मुझे आपके साथ बच्चे के लिए अवसर लेना पड़ा। आपकी समस्या के साथ शुभकामनाएँ। –

उत्तर

16

यह PowerMockito और Mockito कलाकृतियों के बीच संस्करण विरोध की वजह से है मिलता है। "MockCreationSettings.isUsingConstructor" विधि को नए संस्करणों में हटा दिया गया है, इसलिए आपको यह सुनिश्चित करना होगा कि आप सही संस्करणों का उपयोग कर रहे हैं। उदाहरण के लिए मॉकिटो संस्करण 1.10.1 9 के साथ PowerMockito संस्करण 1.6.2 का उपयोग करें (इस संस्करण में वह अनुपलब्ध विधि है)

+0

omg..यह है..धन्यवाद! – hurric

+0

धन्यवाद। दुर्भाग्य से मेरे मामले में मदद नहीं की। पावरमोकिटो और मॉकिटो को उनके बीच कुछ जादू निर्भरता मिली। आधिकारिक समर्थित संस्करण युक्तियों ने इस मुद्दे को हल नहीं किया है या तो https://github.com/powermock/powermock/wiki/mockitousage#supported-versions – Stas

संबंधित मुद्दे