Asp.net mvc c#(asp.net mvc):测试使用global.asax变量的控制器?
我有一个控制器操作,它在Global.asax上使用一个静态变量,该变量由应用程序_Start…填充 下面是简单的示例代码Asp.net mvc c#(asp.net mvc):测试使用global.asax变量的控制器?,asp.net-mvc,unit-testing,Asp.net Mvc,Unit Testing,我有一个控制器操作,它在Global.asax上使用一个静态变量,该变量由应用程序_Start…填充 下面是简单的示例代码 string url = VirtualPathUtility.Combine(MvcApplication.BaseU, "/geturl"); 当然,在测试控制器时,mvcapapplication.BaseU是空的 因为它不是由应用程序调用和填写的,所以从global.asax开始 正确执行此操作的最佳选项是什么 有什么好主意吗 我有一个控制器操作,它在Gl
string url = VirtualPathUtility.Combine(MvcApplication.BaseU, "/geturl");
当然,在测试控制器时,mvcapapplication.BaseU是空的
因为它不是由应用程序调用和填写的,所以从global.asax开始
正确执行此操作的最佳选项是什么
有什么好主意吗
我有一个控制器操作,它在Global.asax上使用一个静态变量
由应用程序_Start填写
那太糟糕了。您可以重构代码,以便控制器将此值作为构造函数参数(构造函数注入),然后配置DI框架以传递正确的值。现在,在单元测试中,只需为测试传递模拟值