有一个Utils类使用了HttpContext来获取表单的值。
public class Utils { /// <summary> /// 获取Post值 /// </summary> /// <typeparam name="T">返回类型</typeparam> /// <param name="key">键</param> /// <returns></returns> public static T Form<T>(string key) { object obj = HttpContext.Current.Request.Form[key]; if (obj == null || string.IsNullOrEmpty(obj.ToString())) return default(T); return (T)Convert.ChangeType(obj, typeof(T)); } }
在controller 中调用了From方法。
public class HomeController : Controller { public ActionResult Index() { string name =Utils.Form<string>("name"); return View(name); } }
我使用了Moq框架来做单元测试模拟表单
现在的问题是在Utils的Form获取不到值。其实就是
HttpContext.Current 没有值。请问应该如何才能让HttpContext.Current 能够有值。如果要修改Utils里面的Form方法的取值方式,应该如何修改才能符合进行单元测试。