我有一个ASP.net MVC 4(测试版)的WebAPI,看起来是这样的:
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多信息是不完整的。 在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的结果)
任何想法如何做到这一点的最好办法是什么?