3
我回來填寫我們的應用程序在工作中的一些單元測試,並遇到以下方法。單元測試寫入HttpWebRequest的請求流
public virtual void WriteBodyToRequestStream(HttpWebRequest webRequest, byte[] redirectBodyBuffer) {
var requestStream = webRequest.GetRequestStream();
requestStream.Write(redirectBodyBuffer, 0, redirectBodyBuffer.Length);
requestStream.Close();
}
我想寫一個簡單的測試,在流中插入一些文本。我遇到的問題是弄清楚如何在寫入流之後驗證文本。這是迄今爲止我所擁有的。
[Test, Ignore("not working yet")]
public void Should_write_to_request_stream()
{
var request = WebRequest.Create("http://localhost/") as HttpWebRequest;
request.Method = "POST";
var encoding = new System.Text.UTF8Encoding();
var bytes = encoding.GetBytes("testing");
_helper.WriteBodyToRequestStream(request, bytes);
var stream = request.GetRequestStream() as MemoryStream;
var result = System.Text.Encoding.UTF8.GetString(stream.ToArray());
Assert.AreEqual("testing", result);
}
當我運行此測試時,stream
變量爲空。
你在那裏沒有單元測試;這是一個集成測試 – GolfWolf 2012-04-25 20:15:34
@ w0lf:很有幫助。謝謝。 – 2012-04-25 20:20:53
什麼是_helper對象,它有什麼作用,你可以顯示源代碼嗎? – Bronumski 2012-04-25 20:22:08