次のような 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: 1 つ以上のエラーが発生しました。---> 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 結果)
これを行う最善の方法は何ですか?