Возможно, вы издеваетесь над одним экземпляром и тестируете другой.Чтобы проверить это, вы должны добавить параметр name
в макет создания:
Comparable<String> mock01 = EasyMock.createMock("M1", Comparable.class);
Comparable<String> mock02 = EasyMock.createMock("M2", Comparable.class);
EasyMock.expect(mock01.compareTo(EasyMock.isA(String.class))).andReturn(1);
EasyMock.replay(mock01, mock02);
mock02.compareTo("Test");
EasyMock.verify(mock01, mock02);
В этом случае тест не пройдёт с сообщением:
Неожиданный вызов метода M2.compareTo ("Test")
вместо:
Неожиданный вызов метода Comparable.compareTo ("Test")