2013-06-06 6 views
10

मुझे पता है कि आप जासूसी ऑब्जेक्ट की विधि कहलाते समय सत्यापित कर सकते हैं। क्या आप विधि कॉल का परिणाम सत्यापित कर सकते हैं?मॉकिटो एक जासूसी ऑब्जेक्ट विधि की वापसी सत्यापित करें

कुछ निम्न जैसा है?

verify(spiedObject, didReturn(true)).doSomething(); 
+3

@BrianRoach यह प्रश्न किसी जासूसी ऑब्जेक्ट द्वारा लौटाए गए मूल्य के बारे में है, यह मान –

उत्तर

13

समय की संख्या की पुष्टि करने के लिए यह लागू किया गया था, verify(spiedObject, times(x)).doSomething() का उपयोग करें।

आपको जासूसी ऑब्जेक्ट से लौटाए गए मान की पुष्टि नहीं करनी चाहिए। यह परीक्षण के तहत वस्तु नहीं है, इसलिए यह सत्यापित क्यों करें कि यह क्या लौटाता है। इसके बजाय जासूस से लौटाए गए मूल्य के जवाब में परीक्षण के तहत वस्तु के व्यवहार को सत्यापित करें।

इसके अलावा, यदि आप नहीं जानते हैं कि जासूसी वस्तु द्वारा कौन सा मूल्य वापस किया जाएगा तो जासूसी के बजाय नकली का उपयोग करना बेहतर होगा।

+1

ठीक है। मैं यही कर रहा हूं, मैं सिर्फ उत्सुक था। – David

+1

ऐसे समय होते हैं जब आप वापसी मूल्य को सत्यापित करना चाहते हैं - उदाहरण के लिए, गणना के परिणाम को सत्यापित करने के लिए। या, कहें, आप जासूसी कर रहे हैं, उदाहरण के लिए, एक सेंसर वर्ग पर, और आप यह सत्यापित करना चाहते हैं कि सेंसर "अलर्ट" स्थिति देता है जब उसे "अलर्ट" का कारण बनने वाले इनपुट के प्रकार प्राप्त होते हैं। –

+1

@ luis.espinal आपका उपर्युक्त विवरण जासूसी ऑब्जेक्ट (चेतावनी इनपुट पर लौटाई गई चेतावनी सत्यापित करने) की तरह दिखता है। यह जासूसी वस्तु के लिए एक परीक्षण में किया जाना चाहिए जो किसी वस्तु के परीक्षण में नहीं है जो जासूसी वस्तु का उपयोग करता है। मैं यह भी सुझाव दूंगा कि यदि चेतावनी के परिणामस्वरूप वापसी के पीछे जटिल व्यवहार है, तो आपको एक स्टब किए गए विधि का उपयोग करना चाहिए। –

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