gpt4 book ai didi

c# - Server.MapPath 的单元测试

转载 作者:可可西里 更新时间:2023-11-01 08:50:37 25 4
gpt4 key购买 nike

我有一个方法。从硬盘中检索文档。我无法通过单元测试对此进行测试。它总是抛出异常无效的空路径或其他东西。如何测试。我临时为单元测试创​​建了 session 。但我不能为这个 Server.MapPath。怎么做?

最佳答案

您可以在 Server.MapPath 上使用依赖注入(inject)和抽象

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);
}
}

关于c# - Server.MapPath 的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19563106/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com