Burlándose de una variable privada que se supone que existe

¿Cómo puede obtener un objeto simulado en tiempo de ejecución cuando no se crea / inicializa en la clase que está probando, no es estático (patrón de singleton), o no tiene algún tipo de constructor de prueba para enlazar?

En una clase para la que estoy escribiendo algunas pruebas de unidad, me he encontrado con un escenario que aún no he encontrado / resuelto. Tengo un recurso JMS (unQueueConnectionFactory para referencia, pero no debería importar), es una variable privada de la clase que estoy probando. Ya que tiene lajavax.annotation.Resource anotación, en tiempo de ejecución se supone que está disponible. Durante la prueba, no lo es, lo que crea la necesidad de burlarse de este objeto.

No es una clase estática y no se está utilizando de forma estática, si lo fuera, podría simularme fácilmente utilizando los diversos métodos de simulación estática que he encontrado. Como el recurso nunca se crea localmente (en un constructor o incluso en un constructor de prueba), no tengo forma de pasar un objeto simulado de modo que, en el tiempo de ejecución de la prueba, se utilice el simulacro en lugar del objeto real. ¿Cómo puedo simular este recurso para que, cuando se ejecute la prueba, se utilice en lugar del privado?@Resource objeto en la clase que estoy probando?

Para referencia, el código está llamandocreateConnection() sobre elQueueConnectionFactory que está lanzando una excepción de puntero nulo ya que Factory no se ha inicializado / simulado.

@Stateless
public class Example{
  @Resource(name = "jms/exampleQCF")
  private QueueConnectionFactory queueFactory;

  ...

  public void testMe(){
    Connection connection = queueFactory.createConnection();
    ...
  }
}