Tengo un problema con EasyMock 2.5.2 y JUnit 4.8.2 (ejecutando Eclipse). He leído todas las publicaciones similares aquí pero no he encontrado una respuesta. Tengo una clase que contiene dos pruebas que prueban el mismo método. Estoy usando emparejamientos.EasyMock: java.lang.IllegalStateException: 1 emparejador esperado, 2 registrado
- Cada prueba pasa cuando se ejecuta solo.
- La primera prueba siempre pasa; esto es cierto si cambio el orden de las pruebas en el archivo.
Aquí es una versión simplificada del código de prueba:
private Xthing mockXthing;
private MainThing mainThing;
@Before
public void setUp() {
mockXthing = EasyMock.createMock(Xthing.class);
mainThing = new MainThing();
mainThing.setxThing(mockXthing);
}
@After
public void cleanUp() {
EasyMock.reset(mockXthing);
}
@Test
public void testTwo() {
String abc = "abc";
EasyMock.expect(mockXthing.doXthing((String) EasyMock.anyObject())).andReturn(abc);
EasyMock.replay(mockXthing);
String testResult = mainThing.testCallingXthing((Long) EasyMock.anyObject());
assertEquals("abc", testResult);
EasyMock.verify(mockXthing);
}
@Test
public void testOne() {
String xyz = "xyz";
EasyMock.expect(mockXthing.doXthing((String) EasyMock.anyObject())).andReturn(xyz);
EasyMock.replay(mockXthing);
String testResult = mainThing.testCallingXthing((Long) EasyMock.anyObject());
assertEquals("xyz", testResult);
EasyMock.verify(mockXthing);
}
El segundo (o último) prueba siempre falla con el siguiente error:
java.lang.IllegalStateException: 1 matchers expected, 2 recorded
Cualquier penetración a esto sería apreciado enormemente.
Gracias, Anne
¿Qué línea arroja esa excepción? –
Lo sentimos, en la segunda (o última) prueba -EasyMock.expect (mockXthing.doXthing ((String) EasyMock.anyObject())).andReturn (xyz); – Anne
OK sí, creo que es lo que dice mi respuesta en ese momento. –