【发布时间】:2016-10-03 09:42:14
【问题描述】:
我正在使用 Nunit 创建单元测试。我有 webapi 项目并使用一些第三方 api 下面是我正在使用的代码块之一。
在下面的函数中,您可以看到我正在返回 facebook graph api 以字符串格式返回的 json 数据。至于单元测试断言 IsEqual 检查我的两个比较对象将使用来自同一个 api 的数据然后我需要匹配它们还是需要对此类项目进行测试。
public string getfriends(string accesstoken)
{
string retVal = "";
string url = API_BaseUrl + "/me/invitable_friends?&access_token=" + accesstoken;
System.Net.HttpWebRequest request = System.Net.WebRequest.Create(url) as System.Net.HttpWebRequest;
System.Net.HttpWebResponse response = null;
try
{
using (response = request.GetResponse() as System.Net.HttpWebResponse)
{
System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream());
retVal = reader.ReadToEnd();
}
}
catch (Exception ex)
{
}
return retVal;
}
【问题讨论】:
-
研究抽象您的依赖项(在本例中为第 3 方 API)并将它们注入到它们的依赖类中。这将允许更好地模拟您的单元测试和整体上更灵活/可维护的架构。
-
@Nkosi 一个简单的问题,为什么我需要改进代码,我只是展示了返回从 fb graph api 返回的字符串数据 (json) 的代码示例,我需要对其进行单元测试跨度>
标签: c# api unit-testing asp.net-web-api nunit