Verspotten der CreateResponse <T> -Erweiterungsmethode in HttpRequestMessage
Ich verwende den ApiController von ASP.Net MVC 4 RC und versuche, eine GET-Methode zu testen.
Diese Methode verwendet dieCreateResponse<T>
Methode, die auf der istHttpRequestMessage
, aber ich habe keine Ahnung, wie ich das verspotten oder es richtig funktionieren lassen soll.
Der Körper der Methode enthält Folgendes:
MediaTypeHeaderValue header = new MediaTypeHeaderValue(versionedSmartBlock.ContentType);
var response = Request.CreateResponse<SmartBlock>(
HttpStatusCode.OK, versionedSmartBlock, header);
In meinem Unit-Test erstelle ich eine leereHttpRequestMessage
:
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);
Aber es erzeugt nur eineInvalidOperationException
:
Der Anforderung ist kein Konfigurationsobjekt zugeordnet, oder die angegebene Konfiguration war null.
Hat jemand irgendwelche Hinweise, wie ich das konfigurieren kannHttpRequestMessage
so, dass dieCreateResponse
Methode macht eigentlich ihren Job?