मैं PowerMock 1.4.7 और 4.8.2 JUnitPowerMock: स्थिर तरीकों में से मजाक (+ कुछ विशेष तरीकों में मूल मान)
का उपयोग मैं केवल कुछ स्थिर तरीकों उपहास करने के लिए की जरूरत है और मैं दूसरों चाहते हैं ( से एक ही कक्षा) सिर्फ मूल मूल्य वापस करने के लिए। जब मैं mockStatic
के साथ नकली हूं और when().doReturn()
पर कॉल न करें स्थैतिक विधियां अपना डिफ़ॉल्ट लौटाती हैं - जैसे ऑब्जेक्ट लौटने पर शून्य या बुलियन लौटने पर झूठी ... आदि। तो मैं thenCallRealMethod
का उपयोग डिफ़ॉल्ट कार्यान्वयन (कोई मजाक नहीं/कोई नकली नहीं) लौटने के लिए प्रत्येक स्थिर विधि पर स्पष्ट रूप से उपयोग करने का प्रयास करता हूं, लेकिन मुझे पता नहीं है कि प्रत्येक संभावित तर्क विविधताओं पर इसे कैसे कॉल करें (= मैं हर संभव इनपुट कॉल के लिए चाहता हूं मूल विधि)। मैं केवल ठोस तर्क भिन्नता का नकल करने के बारे में जानता हूं।
हालांकि यह काम करता है, मैचर तर्कों का उपयोग करते समय सावधान रहें। यदि आप _Mockito.any() _ का उपयोग करना चाहते थे और आप एक जासूस की विधि को रोकने की कोशिश कर रहे हैं, तो वास्तविक getB() इम्प्लाइट स्टबिंग कथन के मूल्यांकन के दौरान लागू किया जाता है। अगर getB() शून्य तर्कों को संभालने में विफल रहता है, तो एक एनपीई फेंक दिया जाएगा। –