2011-08-26 10 views
8

He siguiente fragmento de código en mi prueba de unidad,EasyMock: burló objeto se llama método real

ClassToBeMocked mock = createMock(ClassToBeMocked.class); //I've statically imported EasyMock.* 
mock.callMethod(); //This is a void method 
expectLastCall(); 
replay(mock); 

Pero cuando corro la prueba, en lugar de seeting el expectaion, callMethod() se llama en realidad. ¿Estoy haciendo algo mal?

Soy bastante nuevo en EasyMock o en cualquier marco de burla y bloqueado debido a este problema. Cualquier ayuda sería muy apreciada.

Gracias, ANDYS

+0

¿ClassToBeMocked es una clase concreta o una interfaz? Además, ¿qué versión de EasyMock estás usando? –

Respuesta

8

Esto ocurrirá si está burlando de una clase con un método 'final'. EasyMock no anula un método final. Si no puede simular una interfaz, y no puede cambiar el método a no final, puede usar PowerMock junto con EasyMock para sortear esta limitación. Ese caso de uso específico se describe here.

Cuestiones relacionadas