Server.MapPath 的单元测试

2024-01-09

我有一个方法。从硬盘检索文档。我无法通过单元测试来测试这一点。它总是抛出异常无效的空路径或其他东西。如何测试呢。我已经临时创建了单元测试会话。但我不能使用这个 Server.MapPath。怎么做 ?


您可以通过 Server.MapPath 使用依赖项注入和抽象

public interface IPathProvider
{
   string MapPath(string path);
}

生产实施将是:

public class ServerPathProvider : IPathProvider
{
     public string MapPath(string path)
     {
          return HttpContext.Current.Server.MapPath(path);
     }
}

在测试之一时:

public class TestPathProvider : IPathProvider
{
    public string MapPath(string path)
    {
        return Path.Combine(@"C:\project\",path);
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Server.MapPath 的单元测试 的相关文章

随机推荐