नीचे दी गई विधि के लिए मॉकिटो जूनिट कैसे लिखें:
@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
विधि हालांकि यह थोड़ा अधिक लगता है।