のためにループされるのArrayListをからかっ:Mockito:私は、次のコードが含まれているテスト対象のメソッドを持っているループ
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)
を指定していますが、決して使用されていないと思います。
ありがとう、それは素晴らしい考えです。良い説明も。 :) –
リストに追加される要素がわからない場合はどうすればよいですか? – BlueShark
テストする内容に応じて要素を選択します。 –