2011-10-09 9 views
8

मुझे नहीं लगता कि मिनी इनवोकेशन या मैक्सइवोकेशन मॉकिटो में समय() के बराबर है। है?JMockIt में समय() के समतुल्य?

कृपया इस सवाल देखें: Major difference between: Mockito and JMockIt

जो अभी तक किसी के द्वारा उत्तर नहीं दिया गया।

समाधान DynamicPartialMocking का उपयोग करें और उम्मीदें या के निर्माता के लिए वस्तु पारित करने के लिए है: यह यहाँ जो दूसरों की जरूरत है इस जवाब के लिए जोड़ा जा रहा है:

संपादित

मैं इस सवाल का जवाब अपने आप को पाया NonStrictExpectations और उस ऑब्जेक्ट पर किसी भी फ़ंक्शन को कॉल न करें।

फिर सत्यापन खंड में, = जिसके लिए आप आमंत्रण की संख्या का आकलन और सेट बार करना चाहते वस्तु पर कोई फ़ंक्शन को कॉल मूल्य आप चाहते हैं

new NonStrictExpectations(Foo.class, Bar.class, zooObj) 
{ 
    { 
     // don't call zooObj.method1() here 
     // Otherwise it will get stubbed out 
    } 
}; 


new Verifications() 
{ 
    { 
     zooObj.method1(); times = N; 
    } 
}; 
+1

चाहते आप एक जवाब के रूप जवाब जोड़ सकता है (और इसे स्वीकार करें) - प्रश्न के संपादन के बजाय? इस तरह, यह 'अनुत्तरित' बाल्टी में नहीं दिखाया जाएगा? –

उत्तर

3

मैं इस सवाल का जवाब अपने आप को पाया: इसे यहाँ जोड़ना जो दूसरों की जरूरत के लिए यह उत्तर दिया:

समाधान DynamicPartialMocking का उपयोग करें और उम्मीदें या NonStrictExpectations के निर्माता के लिए वस्तु गुजरती हैं और उस वस्तु पर किसी भी समारोह फोन नहीं है।

फिर सत्यापन खंड में, जिसके लिए आप आमंत्रण की संख्या का आकलन और सेट बार करना चाहते वस्तु पर किसी भी समारोह मूल्य फोन = आप

new NonStrictExpectations(Foo.class, Bar.class, zooObj) 
{ 
    { 
     // don't call zooObj.method1() here 
     // Otherwise it will get stubbed out 
    } 
}; 


new Verifications() 
{ 
    { 
     zooObj.method1(); times = N; 
    } 
}; 
+0

ज्यादातर मामलों में, आपको आंशिक मॉकिंग का उपयोग करने की आवश्यकता नहीं है। इसके बजाय, एनोटेशन का मज़ाक उड़ाते हुए '@ मॉक', '@ गैर-स्ट्रीट' इत्यादि का उपयोग करके नकली फ़ील्ड या नकली पैरामीटर घोषित करके "नियमित" मॉकिंग का उपयोग करें। –

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