0
HTTP POST要求でxmlとしてエクスポートする必要があります。これは以下のコードで行われます。問題は私が模擬HTTPリクエストで単体テストを作りたいということです。このユニットテストで私の体を助けることができますか?HttpWebRequestを嘲笑してHTTP POSTリクエストを使ってメソッドをユニットテストする
private string WriteBytesToHttp(ExportConfiguration exportConfiguration, byte[] bytes)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(exportConfiguration.Endpoint.Address);
Encoding encoding = exportConfiguration.Format.EncodingCodePage.ToEncoding();
var contentType = string.IsNullOrEmpty(exportConfiguration.Format.ContentType)
? "text/plain"
: exportConfiguration.Format.ContentType;
request.ContentType = contentType;
//request.ContentType = string.Format("{0}; charset={1}", contentType, encoding.HeaderName);
request.ContentLength = bytes.Length;
request.Method = "POST";
if (!(string.IsNullOrEmpty(exportConfiguration.Endpoint.Username) ||
string.IsNullOrEmpty(exportConfiguration.Endpoint.Password)))
{
var creditionStr = string.Format("{0}:{1}", exportConfiguration.Endpoint.Username,
exportConfiguration.Endpoint.Password);
request.Headers.Add("Authorization",
"Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(creditionStr)));
}
Stream newStream = request.GetRequestStream();
newStream.Write(bytes, 0, bytes.Length);
newStream.Close();
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
var streamReader = string.IsNullOrEmpty(response.CharacterSet)
? new StreamReader(responseStream)
: new StreamReader(responseStream, Encoding.GetEncoding(response.CharacterSet));
string responseStr = streamReader.ReadToEnd();
return String.IsNullOrEmpty(responseStr) ? response.StatusCode.ToString() : responseStr;
}
あなたの問題*正確に*何ですか?エラーはありますか? – RandomStranger
HTTPサービスコールを模擬してこのメソッドのunittestを作成する必要があります –
あなたの質問に答えがあると思います http://stackoverflow.com/questions/9789944/how-can-i-test-a-custom-delegatinghandler- in-the-asp-net-mvc-4-web-api – syler