次のスニペットを含むテスト対象のメソッドがあります。
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);
/.../
}
}
問題は、テストの実行中にテスト コードが for ループに入らないことです。for ループに入るには、いつどのような条件を指定すればよいですか? 現在は を指定when(listOfPaths.get(anyInt())).thenReturn(tracedPath)
していますが、使用されることはないと思います。