Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# “如何测试”;“中级”;方法/层_C#_Testing_.net Core_Xunit - Fatal编程技术网

C# “如何测试”;“中级”;方法/层

C# “如何测试”;“中级”;方法/层,c#,testing,.net-core,xunit,C#,Testing,.net Core,Xunit,我有一个方法,它基本上只是从控制器调用,并将调用传递到存储库,然后将响应从存储库返回给控制器。不知道“中间”方法/层是否是正确的术语,但你明白了。例如: public List<Car> GetCars() { List<Car> cars = _findCars.Find(); return cars; } public List GetCars() { 列出汽车=_findCars.Find(); 返回车辆; } 你如何利用这个做一个有用的测试?也

我有一个方法,它基本上只是从控制器调用,并将调用传递到存储库,然后将响应从存储库返回给控制器。不知道“中间”方法/层是否是正确的术语,但你明白了。例如:

public List<Car> GetCars()
{
    List<Car> cars = _findCars.Find();
    return cars;
}
public List GetCars()
{
列出汽车=_findCars.Find();
返回车辆;
}
你如何利用这个做一个有用的测试?也许是集成/系统路径测试?你能单独测试吗?

如果你有一个库(比如, 您可以将
\u findCars
注入模拟


然后,当您控制“数据库”标签并对函数的响应进行断言时,您只能测试这一层函数。

谢谢您的评论。我应该包括这个项目是.NETCore,我使用依赖注入容器(所以没有Ninject)。但是听起来,孤立地测试这个层是没有意义的,因为正如你所说的,你必须“控制数据库”?那么这将是某种集成测试?感谢您的建议您可以添加单元测试来只检查这一层。