/ / रेस्टेमेटप्लेट विनिमय विधि के लिए मॉकिटो जूनिट कैसे लिखें - स्प्रिंग, जूनिट, मॉकिटो, रेस्टेमेटप्लेट

Resttemplate विनिमय विधि के लिए mockito junit लिखने का तरीका-spring, junit, mockito, Resttemplate

नीचे दी गई विधि के लिए मॉकिटो जूनिट कैसे लिखें:

@Autowired
RestTemplate restTemplate;

ResponseEntity<?> execute(final String url, HttpMethod httpMethod,
HttpEntity<?> entityRequest,
String.class,
Map<String, String> urlVariables){
restTemplate.exchange(url, httpMethod, entityRequest, responseType, urlVariables);
}

कृपया लिखने में मेरी मदद करें।

उत्तर:

उत्तर № 1 के लिए 10
@RunWith(MockitoJUnitRunner.class)
public class ToTestTest {

@InjectMocks
private YourClass toTest;

@Mock
private RestTemplate template;

@Test
public void test() {
toTest.execute(Mockito.anyString(), Mockito.any(), Mockito.any(),
Mockito.any(), Mockito.any());

Mockito.verify(template, Mockito.times(1))
.exchange(Mockito.anyString(),
Mockito.<HttpMethod> any(),
Mockito.<HttpEntity<?>> any(),
Mockito.<Class<?>> any(),
Mockito.<String, String> anyMap());
}
}

जवाब के लिए 3 № 2

मुझे लगता है कि इस मामले में सबसे सुविधाजनक और उपयुक्त तरीका है (जो क्लाइंट साइड REST परीक्षण का उपयोग कर रहा है RestTemplate) होगा MockRestServiceServer द्वारा उपलब्ध कराया गया वसंत परीक्षण ढांचा।


जवाब के लिए 0 № 3

आपको क्या चाहिए इस पर यह निर्भर है।

मोक्स का उपयोग करने का एक तरीका यह है कि इसे आह्वान करना आसान बना दिया जाए execute तरीका। उसके लिए, आप वास्तविक मापदंडों के नकली संस्करणों का उपयोग कर सकते हैं, जैसे कि HttpMethod और यह HttpEntity। अगर अंतर्निहित है exchange विधि को इन मापदंडों से कुछ व्यवहार की आवश्यकता होती है, आपको मॉकिटो के साथ इसे स्टब करने की आवश्यकता हो सकती है when ... thenReturn तरीकों।

एक बार इन नकली मापदंडों को सेटअप कर दिया जाता है ताकि आप अपनी कॉल कर सकें execute विधियाँ, आप जाँचना चाहेंगे कि इसका परिणाम सही है।

लौटे मूल्य की जाँच के लिए, आप पारंपरिक JUnit अभिकथन का उपयोग कर सकते हैं।

इसके अलावा, आप कुछ जाँच कर सकते हैं बातचीत नकली वस्तुओं के साथ वास्तव में जगह ले ली। उसके लिए आप मॉकिटो का उपयोग कर सकते हैं verify जाँच करने के तरीके, उदाहरण के लिए, कि कुछ HttpEntity विधि वास्तव में आह्वान है।

तकनीकी रूप से, आप यह भी सत्यापित कर सकते हैं कि बाकी टेम्पलेट "" है exchange विधि कहा जाता है। उसके लिए आपको "RestTemplate का मजाक उड़ाने और परीक्षण के तहत आप वर्ग में नकली इंजेक्षन करने की आवश्यकता है। तब आप नकली का उपयोग कर सकते हैं।" verfiy उस की जांच करने के लिए exchange उचित तरीके से कहा जाता है। यह आमतौर पर करने के लिए समझदार बात है, खासकर अगर आपके क्लास-अंडर-टेस्ट में परीक्षण करने के अधिक तरीके हैं। वर्तमान के लिए execute विधि हालांकि यह थोड़ा अधिक लगता है।