我是c#.net的新手,所以如果这个问题看似微不足道,请放轻松。
我正在使用通过Interface IClientDetails和IScanService公开方法的dll。以下是我的控制器:
IClientDetails _clientdetails;
IScanService _scanservice;
HomeController(IClientDetails clientdetails, IScanService scanservice)
{
_clientdetails = clientdetails;
_scanservice = scanservice;
}
public JsonResult CreateScan(ClientGroup cg, Version version)
{
//do something and return JSON Result like this
return Json(new {Messgae = "created", Success = true});
}
注意:在调试中,我看到clientdetails和scnaservice已启动并拥有数据。它们是由dll中的某种方法启动的。
public interface IClientDetails
{
IQueryable<ClientGroup> ClientGroup {get;}
//other functions and members
}
当我编写单元测试类(用于 CreateScan 方法)时,我可以在构造函数中传递IclientDetails客户端,并且可以看到它将被初始化但在UnitTest类构造函数中,params无法传递。如何在单元测试类中使用启动的值。
通过直接将IClientDetails clientdetails变量从unittest方法传递给控制器类的构造函数来使用它说:type is being used as var
。