【发布时间】:2016-09-08 16:04:42
【问题描述】:
我有很多函数调用,比如下面的函数调用,我想对其进行单元测试,但不确定我应该如何处理这些函数。
我只是用真实的 URL 和 API 调用来测试它吗?但是它不会是一个真正的单元测试,因为我包括了我无法控制的东西......这导致我得出结论,我必须模拟 RestClient 出来?我需要在哪里制作一个RestClient Foo(ApiUrl + ApiDirectory);,我可以在上面使用NSubtitute,这是正确的方法吗??
你们会以同样的方式处理它吗?还是有一个聪明的方法来做这个单元测试?
// ReSharper disable once InconsistentNaming
public IRestResponse TCAPIconnection( Method b, long c = 0, object d = null)
{
var client = c == 0 ? new RestClient(ApiUrl + ApiDirectory) : new RestClient(ApiUrl + ApiDirectory + c);
var request = new RestRequest(b);
request.AddHeader("Authorization", Token);
if (d != null)
{
request.AddJsonBody(d);
}
var response = client.Execute(request);
return response;
}
【问题讨论】:
标签: c# unit-testing nunit nsubstitute