¿Cómo puedo simular fácilmente un método estático en Java (jUnit4)?

¿Cómo me burlo fácilmente de un método estático en Java?

Estoy usando Spring 2.5 y JUnit 4.4

@Service
public class SomeServiceImpl implements SomeService {

    public Object doSomething() {
        Logger.getLogger(this.class); //a static method invoked.
        // ...
    }
}

No controlo el método estático que mi servicio necesita invocar, así queno poder refactorizarlo para que sea más comprobable por unidad. He usado elLog4J Logger como ejemplo, pero el método estático real es similar.No es una opción cambiar el método estático.

Haciendo el trabajo de Grails, estoy acostumbrado a usar algo como:

def mockedControl = mockFor(Logger)
mockControl.demand.static.getLogger{Class clazz-> … }
…
mockControl.verify()

¿Cómo hago algo similar en Java?

Respuestas a la pregunta(8)

Su respuesta a la pregunta