【发布时间】:2016-11-03 23:54:35
【问题描述】:
我想为 http web 请求和响应方法编写一个单元测试。请找到以下方法,
public string GetEmployeeId()
{
var tokenRequest = (HttpWebRequest)WebRequest.Create("http://www.goggle.com");
tokenRequest.Method = "POST";
tokenRequest.ContentType = "application/x-www-form-urlencoded";
var bytes = Encoding.UTF8.GetBytes(GetKeys(credentials));
tokenRequest.ContentLength = bytes.Length;
Response response;
using (var stream = tokenRequest.GetRequestStream())
{
stream.Write(bytes, 0, bytes.Length);
stream.Flush();
using (var webResponse = request.GetResponse())
{
Stream receiveStream = webResponse.GetResponseStream();
StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);
MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(readStream.ReadToEnd()));
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Response));
response = ser.ReadObject(ms) as Response;
ms.Close();
readStream.Close();
}
}
}
return response.Id;
}
private string GetKeys(Credentials credentials)
{
return String.Format(@"client_id={0}&client_secret={1}&grant_type=client_credentials",
credentials.Id, credentials.Secret);
}
我不知道如何为 Web 请求方法编写单元测试。谁能建议如何为上述方法编写单元测试?
【问题讨论】:
标签: c# unit-testing mocking