2014-11-19 7 views
5

मैं वाइल्डकार्ड को किसी भी() विधि में मॉकिटो पास करने की कोशिश कर रहा हूं।वाइल्डकार्ड एग्रीमेंट्स के साथ मॉकिटो का उपयोग

when(gatewayConfigSelector.selectGatewayInfoConfig(any(**!!!!!! HERE I NEED THIS WILDCARD !!!!**)); 
       .thenReturn(...something...); 

अग्रिम धन्यवाद: इस विधि

selectGatewayInfoConfig(Operation<?> o) 

मुझे क्या करना कोशिश कर रहा हूँ है।

उत्तर

5

कैसे?

when(gatewayConfigSelector.selectGatewayInfoConfig(any(Operation.class)); 
      .thenReturn(...something...); 

उदाहरण:

@Test 
public void test() { 
    Tester mock = Mockito.mock(Tester.class); 
    Mockito.when(mock.selectGatewayInfoConfig(Mockito.any(Operation.class))).thenReturn("blah"); 

    System.out.println(mock.selectGatewayInfoConfig(null)); 
} 


class Operation<T> { 

} 

class Tester { 

    public String selectGatewayInfoConfig(Operation<?> o) { 
     return "hi"; 
    } 
} 
+0

समस्या यह है कि परीक्षक कक्षा में विधि selectGatewayInfoConfig परीक्षण किया कोड है, जहां जब हालत लागू करना चाहिए का एक हिस्सा नहीं है। – user1554427

+0

मुझे खेद है कि मैं आपकी टिप्पणी को समझ नहीं पा रहा हूं। जिस वर्ग का आप मजाक कर रहे हैं वह आम तौर पर है क्योंकि यह वह नहीं है जिसे आप परीक्षण करना चाहते हैं - यही वह है जिसे आप मजाक करना चाहते हैं। जब तक कक्षा आपके क्लासपाथ पर है और अंतिम नहीं है, तो आप इसे ऊपर के रूप में नकल करने में सक्षम होना चाहिए। क्या यह एक शून्य वापसी प्रकार विधि है? यदि ऐसा है तो कब() को थोड़ा अलग लिखा जाना चाहिए। अन्यथा किसी भी (ऑपरेशन.क्लास) मैचर का उपयोग करना ठीक होना चाहिए। –

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