Estoy usando el ApiController de ASP.Net MVC 4 RC y estoy intentando probar un método Get.Cómo simular el método de extensión CreateResponse <T> en HttpRequestMessage
Este método utiliza el método CreateResponse que está en la HttpRequestMessage, pero no tengo idea de cómo se burlan de esto o para que funcione 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, que crean un HttpRequestMessage vacío:
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 simplemente genera una InvalidOperationException:
La solicitud no hace tener un objeto de configuración asociado o la configuración proporcionada era nula.
¿alguien tiene alguna sugerencias sobre cómo puedo configurar el HttpRequestMessage por lo que el método CreateResponse realmente hace su trabajo?
Esto parece que se está abordando el mismo problema: http://stackoverflow.com/questions/10868673/asp-net-webapi-unit-testing-with-request-createresponse –