首页 新闻 会员 周边 捐助

关于mvc controller 单元测试。HttpContext 为空的问题。

0
[待解决问题]

有一个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方法的取值方式,应该如何修改才能符合进行单元测试。
yzy的主页 yzy | 菜鸟二级 | 园豆:317
提问于:2015-12-10 15:40
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册