是否要用模拟替代类或接口代替?

问题描述

我有一个IFileWriter接口,如下所示:

public interface IFileWriter
{
  void WriteFile();
}

该类的实现如下:

public class MyClass : IFileWriter
{ 
  private readonly ILogger<...> _logger;

  public MyClass(ILogger<...> logger)
   {
     _logger = logger;
    }
 }

现在我正在使用XUnit如下模拟MyClass:

public class MyClasstest
{
  private readonly ILogger<...> _logger;
  private readonly IFileWriter _writer;

    public MyClasstest()
    {
        _logger = Substitute.For<ILogger<...>>();
        _writer= new MyClass (_logger);
    }
 }

我当前正在使用实际的类,但仅嘲笑依赖项。以上方法是正确的还是我应该使用MyClass的接口而不是新的MyClass?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)