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 (...) после его использования один раз, или я (причудливо) получил это сообщение об ошибке, ожидающее от него второй раз.