"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जावा में प्राप्त तर्कों को लौटाने के तरीकों का नकल कैसे करें?

जावा में प्राप्त तर्कों को लौटाने के तरीकों का नकल कैसे करें?

2024-11-16 को प्रकाशित
ब्राउज़ करें:359

How to Mock Methods to Return Arguments Received in Java?

प्राप्त तर्कों को वापस करने के लिए मॉकिंग तरीके

ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग में, मॉकिटो जैसे मॉकिंग फ्रेमवर्क का उपयोग एक मॉक ऑब्जेक्ट बनाने के लिए किया जाता है जो अनुकरण करता है परीक्षण प्रयोजनों के लिए किसी वास्तविक वस्तु का व्यवहार। परीक्षण में एक सामान्य परिदृश्य यह है कि एक नकली विधि को उसी तर्क को वापस करने की आवश्यकता होती है जो उसे पारित किया गया था। &&&]

मॉकिटो 1.9.5 और बाद के संस्करणों के लिए जावा 8 या उससे ऊपर के संयोजन के लिए, आप इसे प्राप्त करने के लिए लैम्ब्डा अभिव्यक्तियों का लाभ उठा सकते हैं व्यवहार:

when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);

यहां, मैं InvocationOnMock का एक उदाहरण प्रस्तुत करता हूं, और getArguments()[0] मॉक विधि में दिए गए पहले तर्क को पुनः प्राप्त करता है।
when(myMock.myFunction(anyString())).thenAnswer(i -> i.getArguments()[0]);

मॉकिटो और कस्टम उत्तर (पुराने संस्करण)

मॉकिटो के पुराने संस्करणों के लिए, आप एक कस्टम मॉकिटो उत्तर कार्यान्वयन का उपयोग कर सकते हैं:

MyInterface मॉक = मॉक(MyInterface.class); कब(mock.myFunction(anyString())).thenAnswer(नया उत्तर() { @ओवरराइड सार्वजनिक स्ट्रिंग उत्तर (इनवोकेशनऑनमॉक इनवोकेशन) थ्रोएबल फेंकता है { ऑब्जेक्ट[] तर्क = आमंत्रण.getArguments(); वापसी (स्ट्रिंग) तर्क[0]; } });

यह कस्टम उत्तर पारित तर्क को पुनः प्राप्त करता है और उसे लौटाता है, जिससे नकली विधि प्राप्त इनपुट को प्रतिध्वनित कर सकती है।
विज्ञप्ति वक्तव्य यह लेख यहां पुनर्मुद्रित है: 1729677594 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3