Cómo burlarse del método de extensión CreateResponse <T> en HttpRequestMessage

Estoy usando el ApiController de ASP.Net MVC 4 RC y estoy tratando de probar un método GET.

Este método utiliza elCreateResponse<T> método que está en elHttpRequestMessage, pero no tengo idea de cómo burlarme de esto o de hacerlo funcionar correctamente.

El cuerpo del método contiene esto:

MediaTypeHeaderValue header = new MediaTypeHeaderValue(versionedSmartBlock.ContentType);
var response = Request.CreateResponse<SmartBlock>(
    HttpStatusCode.OK, versionedSmartBlock, header);

Dentro de mi prueba de unidad, creo un vacíoHttpRequestMessage:

CallsController api = new CallsController(
    managerMock.Object, config, adapterFactoryMock.Object);
api.Request = new HttpRequestMessage(
    HttpMethod.Get, "http://localhost/Initiate?ern=%2B44123456789");    
var response = api.Get("+44123456789", null);

Pero solo genera unInvalidOperationException:

La solicitud no tiene un objeto de configuración asociado o la configuración proporcionada era nula.

¿Alguien tiene algún puntero sobre cómo puedo configurar elHttpRequestMessage de manera que laCreateResponse ¿El método realmente hace su trabajo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta