JUnit में @Spy एनोटेशन, विशेष रूप से जब मॉकिटो के साथ उपयोग किया जाता है, तो किसी वास्तविक वस्तु पर जासूस बनाने के लिए लागू किया जाता है। एक जासूस एक आंशिक नकली है, जिसका अर्थ है कि आप अन्य तरीकों के वास्तविक व्यवहार को बनाए रखते हुए वस्तु के कुछ तरीकों का नकली बना सकते हैं।
यहां @Spy एनोटेशन के कुछ सामान्य उपयोग दिए गए हैं:
आंशिक उपहास:
@Spy private ListspyList = new ArrayList(); @Test public void testSpy() { spyList.add("Mockito"); Mockito.verify(spyList).add("Mockito"); assertEquals(1, spyList.size()); Mockito.doReturn(100).when(spyList).size(); assertEquals(100, spyList.size()); }
ओवरराइडिंग रियल मेथड बिहेवियर:
@Spy private MyClass myClass = new MyClass(); @Test public void testSpyWithMethodOverride() { Mockito.doReturn("Mocked Value").when(myClass).someMethod(); assertEquals("Mocked Value", myClass.someMethod()); }
विधि कॉल का सत्यापन:
@Spy private MyClass myClass = new MyClass(); @Test public void testMethodCallVerification() { myClass.someMethod(); Mockito.verify(myClass).someMethod(); }
@InjectMocks के साथ संयोजन:
@Spy private MyDependency dependency; @InjectMocks private MyService service; @Test public void testService() { Mockito.doReturn("Mocked Result").when(dependency).doSomething(); assertEquals("Mocked Result", service.performAction()); }
विरासत कोड का परीक्षण:
संक्षेप में, @Spy एनोटेशन तब उपयोगी होता है जब आपको ऑब्जेक्ट के बाकी व्यवहार को अपरिवर्तित रखते हुए किसी वास्तविक ऑब्जेक्ट के विशिष्ट व्यवहार को नियंत्रित या सत्यापित करने की आवश्यकता होती है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3