我使用此sample tutorial创建一个简单的Web API。
然后我从here下载了PCL版本的RestSharp,编译并尝试执行此测试代码:
[TestFixture]
public class UnitTest1
{
[Test]
public void TestMethod1()
{
var client = new RestClient("http://localhost:18506/api/");
var request = new RestRequest("products", Method.GET);
client.ExecuteAsync<List<Product>>(request, response =>
{
foreach (var a in response.Data)
{
Console.WriteLine(a.Name);
}
});
}
public class Product
{
public string Name { get; set; }
}
}
没有任何内容被写入控制台,如果我在回调中放置一个断点,则不会被击中。
有什么建议吗?
TIA。
答案 0 :(得分:1)
您已触发异步HTTP调用,似乎永远不会等待它完成。尝试等待,或者在Web API被请求命中之前,您的单元测试可能会完成很多:
client.ExecuteAsync<List<Product>>(request, response =>
{
...
}).Result;
但是在单元测试中,您可能不需要使用异步HTTP调用来复杂化您的生活。只需使用标准的同步调用并对收到的结果进行断言。