У меня проблема с EasyMock 2.5.2 и JUnit 4.8.2 (работает через Eclipse). Я прочитал все подобные посты здесь, но не нашел ответа. У меня есть класс, содержащий два теста, которые проверяют один и тот же метод. Я использую matchers.
- Каждый тест проходит в одиночку.
- Первый тест всегда проходит - это правда, если я переключаю порядок тестов в файле.
Вот упрощенная версия тестового кода:
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);
}
Второй (или последний) тест всегда завершается с ошибкой:
java.lang.IllegalStateException: 1 matchers expected, 2 recorded
Любое понимание этого будет с благодарностью.
Спасибо,
Anne