Quiero verificar el orden específico de los caracteres para garantizar que no se distorsionen. Intenté escribirlo usando InOrder
pero parece que no funciona, o al menos en Mockito 1.8.5.¿Cómo probar en Mockito para un orden específico de llamadas con los mismos argumentos?
@Test
public void inOrderTest() throws IOException{
final String message = "Hello World!\n";
for(char c : message.toCharArray())
mockWriter.write(c);
final InOrder inOrder = inOrder(mockWriter);
for(char c : message.toCharArray())
inOrder.verify(mockWriter).write(c);
inOrder.verifyNoMoreInteractions();
}
La prueba anterior falla con el mensaje:
Verification in order failure:
mockWriter.write(108);
Wanted 1 time:
-> at org.bitbucket.artbugorski.brainfuj.interpreter.InterpreterTest.inOrderTest(InterpreterTest.java:62)
But was 3 times. Undesired invocation:
-> at org.bitbucket.artbugorski.brainfuj.interpreter.InterpreterTest.inOrderTest(InterpreterTest.java:58)
¿Cómo se escribe una prueba Mockito para eso?
EDIT: Presentado como fallo http://code.google.com/p/mockito/issues/detail?id=296
Slick. No sabía acerca de esa característica del captor arg. –
a veces fácilmente para verificar el resultado/salida/resultado (si es posible) luego lea este código de prueba. Quiero decir, si sabemos que debería devolvernos: "algún aguijón que esperábamos" para posibles argumentos dados. – ses