Java.lang.IllegalStateException: несовместимый тип возвращаемого значения

Я использую EasyMock для создания макетов в тестовых случаях.

expect(entity.getType()).andReturn("string");

Тип принадлежит типу String. В моей среде разработки он работает нормально. Но если я перейду на свой сервер и сделаю сборку, он не выполнит следующую ошибку:

java.lang.IllegalStateException: incompatible return value type

Я не знаю, почему он терпит неудачу на сервере и выполняется на моей машине разработки.

Разработка версии EasyMock: 2.5.2

Ответы

Ответ 1

У меня была такая же проблема.

У меня был частичный макет в EasyMock, но я забыл вызвать addMockedMethod для метода, который я хотел установить для ожидания.

Сообщение об ошибке было таким же, как указано выше, я бы сказал, что это несколько вводит в заблуждение.

Ответ 2

В моем случае метод был final, на который я назвал expect on. Таким образом, EasyMock не смог издеваться над этим методом и поэтому не записывал вызов метода.

Ответ 3

Убедитесь, что ваш объект entity не является простым POJO (например, new Entity()), и он был создан с помощью методов createMock() EasyMock.

Ответ 4

Для меня я должен был помнить, чтобы называть его reset (...) после его использования один раз, или я (причудливо) получил это сообщение об ошибке, ожидающее от него второй раз.