Я использую ApiController ASP.Net MVC 4 RC и пытаюсь выполнить модульное тестирование GET. метод.
Этот метод использует метод CreateResponse
из HttpRequestMessage
, но я понятия не имею, как смоделировать его или заставить его работать правильно.
Тело метода содержит следующее:
MediaTypeHeaderValue header = new MediaTypeHeaderValue(versionedSmartBlock.ContentType);
var response = Request.CreateResponse<SmartBlock>(
HttpStatusCode.OK, versionedSmartBlock, header);
В моем модульном тесте я создаю пустой HttpRequestMessage
:
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);
Но он просто генерирует InvalidOperationException
:
Запрос не имеет связанного объекта конфигурации или при условии, что конфигурация была нулевой.
Кто-нибудь знает, как настроить HttpRequestMessage
, чтобы метод CreateResponse
действительно выполнял свою работу?