Mockito का उपयोग करते समय, मैं केवल यह निर्भरता बाहर उपहास करने के लिए, यानी मेरी कार्यप्रवाह लग रहा है ज्यादातर इस तरह का उपयोग करें:Mockito - लग रहा है कि मैं अपनी पूरी क्षमता का उपयोग नहीं करते
:मैं निर्भरता के साथ एक वर्ग है
public class C {
public C (A a, B b) {
this.a = a;
this.b = b;
}
public String fooBar() {
return a.foo() + b.bar();
}
}
अपने परीक्षण कक्षा में, मैं उन निर्भरता बाहर नकली है, और उन्हें बताओ जो जब कुछ निर्दिष्ट पद्धतियों को बुलाया जाता लौटने के लिए महत्व देता है:
public class CSpec {
private A a = mock(A.class);
private B b = mock(B.class);
@Test
public itShouldReturnFooBar() {
when(a.foo()).thenReturn("foo");
when(b.bar()).thenReturn("bar");
C c = new C(a, b);
assertThat(c.fooBar().isEqualTo("foobar"));
}
}
(मुझे आशा है कि इस उदाहरण भी आसान या बहुत deriv नहीं है ईडी ;-))। यह ठीक काम करता है, यह मुझे अलगाव में कक्षाओं (यहां: सी) का परीक्षण करने की अनुमति देता है। फिर भी, मैंने कभी मॉकिटो की verify
विधियों या इसकी किसी भी अन्य सुविधाओं का उपयोग नहीं किया। क्या यह मॉकिटो का उपयोग करने के लिए ठीक है/पर्याप्त है?
लेकिन क्या यह वास्तव में मुझे कुछ खरीदता है? वापस लौटाए गए मूल्य की जांच नहीं कर रहा है? – helpermethod
क्या होगा यदि आपकी विधि कोई मान वापस नहीं लाती है? – blank
आपके बहुत ही साधारण मामले में हाँ, लेकिन कई मामलों में यह जांचना कि जटिल विधि के निष्पादन के दौरान वास्तव में कुछ कहा जाता है, वही है जो आप चाहते हैं। – vertti