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