में एक शून्य विधि के अंदर कई शून्य विधि कॉलों को अनदेखा कैसे करें मैं कक्षा में कई अन्य शून्य विधियों को कॉल करने के लिए एक शून्य विधि का परीक्षण कर रहा हूं (ये सभी विधियां एक ही कक्षा में हैं)। विधि इन पंक्तियों के साथ कुछ है ...मॉकिटो
public void methodToTest() {
methodA();
methodB();
}
void methodA() {
methodA1();
methodA2();
methodA3();
}
मुझे क्या करना चाहते हैं इसके बाद के संस्करण methodA()
कारण कुछ भी नहीं करना है। यही है, मैं methodA()
मूल रूप से इस तरह रहना चाहता हूँ:
void methodA() { }
मैं कोई लाभ नहीं हुआ methodA()
पर दोनों doThrow()
और doAnswer()
कोशिश की है। ऐसा लगता है कि उन दोनों को पूरी तरह अनदेखा किया जा रहा है।
मैं क्या कोशिश की है का एक उदाहरण ...
doThrow(new RuntimeException()).when(mockedClass).methodA();
वहाँ यह करने के लिए एक तरह से सिर्फ Mockito का उपयोग कर है? मैं उस वर्ग को बदलने की स्वतंत्रता नहीं हूं जिसे संशोधित किया जा रहा है।
यह काम करना चाहिए, क्या आप सुनिश्चित हैं कि 'methodA'' अंतिम 'नहीं है? – Brice
'methodA'' अंतिम ' –
नहीं है, जो आपके स्निपेट पर वापस देख रहा है जैसे आप आंशिक नकली करना चाहते हैं, शायद आप' methodA' निष्पादित कर रहे हैं, जबकि आप 'methodA' निष्पादित कर रहे हैं।' आप निश्चित रूप से 'मॉक (YourObject.class)' का उपयोग कर रहे हैं, तो निश्चित रूप से एक नकली कुछ भी नहीं करता है, और निश्चित रूप से कभी भी वास्तविक कोड निष्पादित नहीं करेगा। आप जो भी 'जासूस (YourObject.class) चाहते हैं उसे प्राप्त कर सकते हैं, यह डिफ़ॉल्ट रूप से वास्तविक कोड निष्पादित करेगा। हालांकि आंशिक मोक्स परीक्षण गंध के रूप में पहचाने जाते हैं, यदि डिज़ाइन गंध नहीं है, तो आपको 'विधि ए' के व्यवहार को निर्भरता के रूप में पेश करने के अवसरों की तलाश करनी चाहिए, उदाहरण के लिए आप अपने एपीआई में 'एएसट्रेटी' के रूप में उजागर कर सकते हैं। – Brice