我正在编写一些单元测试,但是当我尝试执行以下操作时,我的真实代码抛出了一个异常:
string IPaddress = HttpContext.Current.Request.UserHostName.ToString();
有没有一种方法可以模拟IP地址,而无需重写我的代码以接受IP地址作为参数?
谢谢!
我正在编写一些单元测试,但是当我尝试执行以下操作时,我的真实代码抛出了一个异常:
string IPaddress = HttpContext.Current.Request.UserHostName.ToString();
有没有一种方法可以模拟IP地址,而无需重写我的代码以接受IP地址作为参数?
谢谢!
public interface IAppContext
{
string GetIP();
}
然后你会有一个实际的prod实现来完成真正的事情,以及在测试中使用的模拟或伪造对象。
public class AppContext : IAppConext
{
public string GetIP()
{
return HttpContext.Current.Request.UserHostName.ToString();
}
}