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

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

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

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

java.lang.IllegalStateException: incompatible return value type

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

Версия EasyMock для разработчиков: 2.5.2


person Dinesh    schedule 11.03.2011    source источник
comment
Каков тип entity и как именно объявляется getType()?   -  person Joachim Sauer    schedule 11.03.2011
comment
Class Entity { частный тип строки; }   -  person Dinesh    schedule 11.03.2011
comment
Если то, что вы сказали, верно, это означает только одно. Есть две разные версии вашего класса (или, возможно, даже всего jar) на сервере и в вашем dev. машина. Кроме того, возможно, стоит включить оператор System.out.println(entity.getType().getClass()) перед установкой фиктивного возврата.   -  person Apoorv    schedule 25.05.2011


Ответы (4)


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

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

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

person Björn    schedule 11.08.2011

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

person Eduard Wirch    schedule 28.03.2014

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

person palacsint    schedule 30.08.2011

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

person rogerdpack    schedule 03.05.2012