2011-03-11 9 views
15

Estoy usando EasyMock para crear clases simuladas en casos de prueba.java.lang.IllegalStateException: valor de retorno incompatible tipo

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

Tipo pertenece a la String tipo de datos. En mi entorno de desarrollo, funciona bien. Pero el caso de transferir a mi servidor y tomar construyo, está fallando con el siguiente error:

java.lang.IllegalStateException: incompatible return value type 

No sé por qué se está fallando en servidor y la silla eléctrica en mi máquina de desarrollo.

Versión de desarrollo EasyMock: 2.5.2

+1

¿Cuál es el tipo de 'entidad' y cómo exactamente se declara' getType() '? –

+0

Entidad de clase {private String type; } – Dinesh

+1

Si lo que ha dicho es correcto, significa solo una cosa. Hay dos versiones diferentes de su clase (o quizás el jar completo) en el servidor y su desarrollador. máquina. Además, puede valer la pena incluir una instrucción System.out.println (entity.getType(). GetClass()) antes de establecer el retorno simulado. –

Respuesta

12

acabo de tener el mismo problema.

Tuve un simulacro parcial en EasyMock, pero olvidé de llamar al addMockedMethod para conocer el método que quería establecer.

El mensaje de error era el mismo que el anterior, yo diría que fue un poco engañoso.

5

Asegúrese de que su objeto entity no es un POJO simple (por ejemplo, new Entity()), y se creó con los métodos createMock() de EasyMock.

3

Para mí, tuve que recordar llamar al reinicio (...) después de haberlo usado una vez, o recibí (extrañamente) este mensaje de error de llamada en espera por segunda vez.

6

En mi caso, el método era final al que llamé expect. Por lo tanto, EasyMock no pudo simular el método y, por lo tanto, no registró la invocación del método.

Cuestiones relacionadas