3
我在我的代碼庫,其生成並返回一個現成的發送HTTP POST消息作爲System.Net.HttpWebRequest對象(傳統)方法:從HttpWebRequest對象獲取正文文本?
public HttpWebRequest GetHttpWebRequest(string body, string url, string contentType)
{
HttpWebRequest request = HttpWebRequest.CreateHttp(url);
request.Method = "POST";
// (More setup stuff here...)
using (var writer = new StreamWriter(request.GetRequestStream()))
{
writer.Write(body);
}
return request;
}
我想寫一個單元測試這證實了HttpWebRequest
由此方法返回的實例實際上具有傳遞給參數body
中的方法的消息正文文本。
問題:如何獲取HttpWebRequest
對象的正文(沒有實際發送HTTP請求)?
的東西,我試過到目前爲止:
new StreamReader(myHttpWebRequest.GetRequestStream()).ReadToEnd()
- 在運行時無法與ArgumentException: Stream was not readable.
- HttpWebRequest類似乎並不具備,將允許獲得的任何財產/讀取HTTP消息正文如
Body
,Message
,Text
等。
你會被測試,如果你會成功嗎? HttpWebRequest?或者它的迴應?我只是問,因爲這裏感覺不太對勁。 – Stefan
@Stefan我的想法是測試我的自定義代碼,它將「body」參數值設置到創建的HttpWebRequest上。 (我可以創建幾個單元測試方法,確保我的代碼能夠正確處理各種角落案例。) –
如何將http偵聽器添加到代碼中併發出真正的http請求。 –