【发布时间】:2018-05-21 20:47:50
【问题描述】:
我有一个从 API 控制器调用的具有以下服务类的 Web API 项目。我想使用 Moq 框架为下面的类编写单元测试用例。如何使用 Moq 构建多个接口?如果不能使用 Moq,还有其他框架吗?
public class MyService : IMyService
{
private readonly IInterface1 _interface1;
private readonly IInterfaces2 _interface2;
private readonly IInterface3 _interface3;
public MyService(IInterface1 interface1,IInterface2 interface2,IInterface3 interface3)
{
_interface1=interface1;
_interface2=interface2;
_interface3=interface3;
}
public SomeModel MyMethod1(1Model model)
{
//do something here....
}
public SomeMode2 MyMethod2(Model2 model)
{
//do something here....
}
public SomeMode3 MyMethod3(Model3 model)
{
//do something here....
}
}
【问题讨论】:
-
只需为每个依赖项的接口构建一个 Mock 并将它们传递给您的 sut。
-
模拟接口并将它们传递给被测类。除了参考 Moq Quickstart
-
您必须创建 3 个模拟并将其注入构造函数中,这与大多数网站的玩具示例没有太大区别。
标签: c# unit-testing moq vs-unit-testing-framework