【问题标题】:How to test "intermediate" method/layer如何测试“中间”方法/层
【发布时间】:2021-08-17 22:01:45
【问题描述】:

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

public List<Car> GetCars()
{
    List<Car> cars = _findCars.Find();
    return cars;
}

您如何从中进行有用的测试?也许集成/系统路径测试?你能以某种方式单独测试它吗?

【问题讨论】:

    标签: c# testing .net-core xunit


    【解决方案1】:

    如果您有 dependency injection 库(如 Ninject), 您可以将_findCars 注入到模拟中。

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

    【讨论】:

    • 感谢您的评论。我应该包括该项目是 .NET Core,并且我使用依赖注入容器(所以没有 Ninject)。但听起来孤立地测试这一层是没有意义的,因为你 - 正如你所说 - 必须“控制数据库”?所以这将是某种集成测试?感谢指点
    • 您可以添加单元测试来只检查这一层。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-15
    相关资源
    最近更新 更多