zoukankan      html  css  js  c++  java
  • MVC Controller进行单元测试

    /// <summary>
        /// 单元测试控制器基类。
        /// </summary>
        public class UnitTestBaseController : Controller
        {
            public UnitTestBaseController()
            {
                var httpContext = new Moq.Mock<HttpContextBase>();
    
                var response = new Moq.Mock<HttpResponseBase>();
                httpContext.Setup(ht => ht.Response).Returns(response.Object);
    
                var request = new Moq.Mock<HttpRequestBase>();
                var queryString = new System.Collections.Specialized.NameValueCollection();
                request.Setup(r => r.QueryString).Returns(queryString);
    
                var httpCookieCollection = new HttpCookieCollection();
                httpCookieCollection.Add(new HttpCookie("token", "124"));
                request.Setup(r => r.Cookies).Returns(httpCookieCollection);
    
                httpContext.Setup(ht => ht.Request).Returns(request.Object);
    
                var ctrlContext = new ControllerContext();
                ctrlContext.HttpContext = httpContext.Object;
    
                this.ControllerContext = ctrlContext;
    
                //在这里执行了过滤器功能
                this.OnActionExecuting(new ActionExecutingContext());
            }
    
    
            protected override void OnActionExecuting(ActionExecutingContext context)
            {
                //throw new Exception("过滤器说有问题,哈哈!");
            }
        }
    

      

    public class TestController : UnitTestBaseController
        {
            public TestController()
            {
            }
    
            public void Index()
            {
                var token = Request.Cookies["token"];
                if (token != null)
                {
                    Response.Write("已登录:" + token.Value);
                    Console.WriteLine("已登录:" + token.Value);
                }
                else
                {
                    Response.Write("未登录!");
                    Console.WriteLine("未登录!");
                }
            }
        }
    

      

  • 相关阅读:
    四、oracle 用户管理二
    三、oracle 用户管理一
    二、oracle sql*plus常用命令
    数据库的导入导出
    一:oracle系统包—-dbms_output用法
    数据库分类
    Oracle序列号详解
    Windows 下 java(JDK)的安装和环境变量的配置
    win7安装oracle 10g时发生“程序异常终止。发生内部错误”的提示
    对数据库列的操作
  • 原文地址:https://www.cnblogs.com/ToughGuy/p/5457855.html
Copyright © 2011-2022 走看看