के लिए एक में फंस हो जाएगा मैं परीक्षण के अंतर्गत एक विधि है जो निम्न स्निपेट वाली है मजाक:Mockito: एक ArrayList कि पाश
private void buildChainCode(List<TracedPath> lines){
for(TracedPath path : lines){
/.../
}
}
मेरे इकाई परीक्षण कोड इस तरह दिखता है:
public class ChainCodeUnitTest extends TestCase {
private @Mock List<TracedPath> listOfPaths;
private @Mock TracedPath tracedPath;
protected void setUp() throws Exception {
super.setUp();
MockitoAnnotations.initMocks(this);
}
public void testGetCode() {
when(listOfPaths.get(anyInt())).thenReturn(tracedPath);
ChainCode cc = new ChainCode();
cc.getCode(listOfPaths);
/.../
}
}
समस्या यह है कि परीक्षण चलाने के दौरान, परीक्षण कोड कभी लूप के लिए प्रवेश नहीं करता है। जब मुझे शर्तों को निर्दिष्ट करना चाहिए, तो क्या लूप को दर्ज किया जाएगा? वर्तमान में मैंने when(listOfPaths.get(anyInt())).thenReturn(tracedPath)
निर्दिष्ट किया है, लेकिन मुझे लगता है कि इसका कभी भी उपयोग नहीं किया जाता है।
धन्यवाद, यह एक अच्छा विचार है। एक अच्छी व्याख्या भी। :) –
क्या होगा यदि आप उन तत्वों को नहीं जानते जो सूची में जोड़े जाएंगे? – BlueShark
आप जो परीक्षण करने का प्रयास कर रहे हैं उसके आधार पर आप तत्व चुनते हैं। –