У меня есть 4 (бета) WebAPI ASP.net MVC, который выглядит примерно так:ASP.net MVC 4 WebAPI - Тестирование MIME Multipart Content
public void Post()
{
if (!Request.Content.IsMimeMultipartContent("form-data"))
{
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}
IEnumerable<HttpContent> parts = Request.Content.ReadAsMultipartAsync().Result;
// Rest of code here.
}
Я пытаюсь модульного тестирования этого кода, но может Подумайте, как это сделать. Я здесь, на правильном пути?
[TestMethod]
public void Post_Test()
{
MultipartFormDataContent content = new MultipartFormDataContent();
content.Add(new StringContent("bar"), "foo");
this.controller.Request = new HttpRequestMessage();
this.controller.Request.Content = content;
this.controller.Post();
}
Этот код бросает следующее исключение: Произошла одна или несколько ошибок:
System.AggregateException. ---> System.IO.IOException: Неожиданный конец многопоточного потока MIME. MIME multipart сообщение не является полным. на System.Net.Http.MimeMultipartBodyPartParser.d__0.MoveNext() на System.Net.Http.HttpContentMultipartExtensions.MoveNextPart (MultipartAsyncContext контекста) при System.Net.Http.HttpContentMultipartExtensions.MultipartReadAsyncComplete (IAsyncResult результата) при System.Net.Http.HttpContentMultipartExtensions.OnMultipartReadAsyncComplete (IAsyncResult результат)
Любая идея, что лучший способ сделать это?
Этот метод удивительно прост и проще реализовать, чем многие из тех, что я видел. – BrianS
приятно приятно! Спасибо bro –
Очень простой, чистый и приятный, спасибо! –