2010-10-15 5 views
18

मेरे पास मेरे परीक्षण में एक पंक्ति है जो वर्तमान में इस तरह दिखती है:कैसे जांचें कि पैरामीटर में मॉकिटो का उपयोग करके दो सबस्ट्रिंग्स हैं या नहीं?

Mockito.verify(mockMyObject).myMethod(Mockito.contains("apple")); 

मैं यह संशोधित करना चाहता हूं कि पैरामीटर में "apple" और "banana" दोनों हैं या नहीं। मैं इसे किस तरह लूं?

उत्तर

21

बस का उपयोग Mockito.match(String)

Mockito.verify(mockMyObject). 
    myMethod(
    Mockito.matches("(.*apple.*banana.*)|(.*banana.*apple.*)" 
) 
); 
5

उदाहरण के लिए इस आलेख को Argument matching with Mockito देखें।

+0

+1 यह लेख एक और समस्या मैं के लिए आया था के साथ मदद की - धन्यवाद: -) – tttppp

+0

Matcher: 'argThat() '... अच्छा, धन्यवाद! – vikingsteve

11

मुझे लगता है कि सबसे आसान समाधान को सत्यापित() कई बार फोन करने के लिए है:

verify(emailService).sendHtmlMail(anyString(), eq(REPORT_TITLE), contains("Client response31")); 
verify(emailService).sendHtmlMail(anyString(), eq(REPORT_TITLE), contains("Client response40")); 
verify(emailService, never()).sendHtmlMail(anyString(), anyString(), contains("Client response30")); 

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

  • कोई संबंधित समस्या नहीं^_^