Mockito: se moquant d'un arraylist qui sera lu en boucle dans une boucle for

J'ai une méthode de test qui contient le fragment de code suivant:

private void buildChainCode(List<TracedPath> lines){
    for(TracedPath path : lines){
        /.../
    }
}

Mon test unitaire code ressemble à ceci:

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);

        /.../
    }
}

Le problème, c'est que pendant l'exécution du test, le test de code ne pénètre jamais dans la boucle for. Ce que, lorsque les conditions dois-je préciser, de sorte que la boucle serait entré? Actuellement, j'ai spécifié when(listOfPaths.get(anyInt())).thenReturn(tracedPath), mais je suppose qu'il n'est jamais utilisé.

InformationsquelleAutor Rebane Lumes | 2013-08-28