1
ユニットテストの一環として、HTTPフォームデータを本体として含む模擬コードIOwinRequest
を作成しようとしています。問題のコードは、(私が成功したWebブラウザを介して送信されたリクエストからフォームデータを読み取ることができます)生産で動作しますが、私はユニットテストで間違ってやっているのか理解できません。ユニットテストでOwinRequestにフォームデータを書き込む
[TestMethod]
public async Task TestPostData()
{
String rawFormData = "test=testValue&test2=testValue2";
MemoryStream stream = new MemoryStream();
using (StreamWriter writer = new StreamWriter(stream, Encoding.UTF8, 4 * 1024, true))
await writer.WriteAsync(rawFormData);
stream.Seek(0, SeekOrigin.Begin);
Mock<IOwinRequest> requestMock = new Mock<IOwinRequest>();
requestMock.SetupGet(r => r.Method).Returns("POST");
requestMock.SetupGet(r => r.Body).Returns(stream);
requestMock.SetupGet(r => r.ContentType).Returns("application/x-www-form-urlencoded");
Assert.IsNotNull(await requestMock.Object.ReadFormAsync());
}
フォームReadFormAsync
メソッドから返されたオブジェクトはnull
です。私は何が欠けていますか?これはオンになっています.Net4.5とMicrosoft.Owin 3.0.1
これは解決されましたか? – Nkosi