Asp.net Mvc Framework 十(测试方法及Filter的示例)

简介: 示例下载:http://files.cnblogs.com/chsword/MyTestMvc.rar 顺遍说一下建立测试的方法 本身Asp.netMvc是提供有测试功能的 在新建Asp.netMVCApplication时,点击确定,会跳出一个Create Project Test的询问 如果选Yes就自动建立一个 "工程名+Test"的测试工程 测试工程要引用Rhino.
示例下载:
http://files.cnblogs.com/chsword/MyTestMvc.rar

顺遍说一下建立测试的方法
本身Asp.netMvc是提供有测试功能的
在新建Asp.netMVCApplication时,点击确定,会跳出一个Create Project Test的询问
如果选Yes就自动建立一个 "工程名+Test"的测试工程
测试工程要引用Rhino.Mock(最新版本3.4)这一开源项目(下载地址 http://www.ayende.com/projects/rhino-mocks/downloads.aspx)
测试代码没有什么好说的了,看了示例自然了解,Scott的 MockHelpers使测试更加方便

可以利用类似以下代码进行测试
    [TestMethod]
        
public   void  Index()  {
            HomeController home 
= new HomeController();
            var viewengin 
= new FakeViewEngine();
            home.ViewEngine 
= viewengin;
            MockRepository mock 
= new MockRepository();
            
using (mock.Record()) {
                mock.SetFakeControllerContext(home);
            }

            
using (mock.Playback()) {
                home.Index();
                Assert.AreEqual(
"Index", viewengin.ViewContext.ViewName);
            }

        }

示例说明
示例中有个登录功能
有两个页面
/Post/Index页面只有登录后才能查看
/Post/Post页面只有登录后的admin用户才能查看
否则就会Error
在验证登录时我写了一个扩展方法
     public   static   class  ControllerExtension
    
{
        
public static bool IsPost(this Controller controller) {
            
return controller.Request.Form.Count > 0;
        }

    }

登录时我使用Session来保存用户登录信息

所有用户信息我在 Global中进行初始化
            RegisterRoutes(RouteTable.Routes);
            
// 将Application代替数据库用
            Application[ " Posts " =   new  List < Post > (); // 一个账号集合
            Application[ " Accounts " =   new  List < Account > (); // 一个帖子集合
            
// 初始化两个账号
            List < Account >  la  =  Application[ " Accounts " as  List < Account > ;
            la.Add(
new  Account() // 这个是管理员
             {
                Username 
= "admin",
                Password 
= "admin"
            }
);
            la.Add(
new  Account() // 这个是普通用户
             {
                Username 
= "user",
                Password 
= "user"
            }
);


具体的内容看代码就行了,感冒了...很是难受...手纸用了三卷了....( 乱世重典)
Asp.net Mvc Framework 系列
目录
打赏
0
0
0
0
1
分享
相关文章
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
Spring MVC源码分析之DispatcherServlet#getHandlerAdapter方法
`DispatcherServlet`的 `getHandlerAdapter`方法是Spring MVC处理请求的核心部分之一。它通过遍历预定义的 `HandlerAdapter`列表,找到适用于当前处理器的适配器,并调用适配器执行具体的处理逻辑。理解这个方法有助于深入了解Spring MVC的工作机制和扩展点。
67 1
Spring MVC源码分析之DispatcherServlet#getHandlerAdapter方法
`DispatcherServlet`的 `getHandlerAdapter`方法是Spring MVC处理请求的核心部分之一。它通过遍历预定义的 `HandlerAdapter`列表,找到适用于当前处理器的适配器,并调用适配器执行具体的处理逻辑。理解这个方法有助于深入了解Spring MVC的工作机制和扩展点。
54 1
Spring MVC源码分析之DispatcherServlet#getHandlerAdapter方法
`DispatcherServlet`的 `getHandlerAdapter`方法是Spring MVC处理请求的核心部分之一。它通过遍历预定义的 `HandlerAdapter`列表,找到适用于当前处理器的适配器,并调用适配器执行具体的处理逻辑。理解这个方法有助于深入了解Spring MVC的工作机制和扩展点。
51 0
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
84 7
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
123 0
《精通 ASP.NET MVC 3 框架(第三版)》----1.5 ASP.NET MVC 3的新特性
MVC 3版的主要特性是引入了Razor视图引擎。以前的MVC版本一直依赖于ASP.NET的视图引擎,它依赖于ASP.NET的<%和%>代码块(如果你曾做过任意一种ASP.NET开发,你肯定看到过它的使用)。
1435 0
《精通 ASP.NET MVC 4》----1.5 ASP.NET MVC 4的新特性
第4版MVC框架在第3版的基础上提供了许多改进。有一些重大的新特性,例如,对Web API应用程序的支持(第25章描述)、对移动设备的支持(第24章),以及一些将内容发送给客户端的有用的优化技术(第24章)等。
1503 0
返璞归真 asp.net mvc (6) - asp.net mvc 2.0 新特性
原文:返璞归真 asp.net mvc (6) - asp.net mvc 2.0 新特性[索引页][源码下载] 返璞归真 asp.net mvc (6) - asp.net mvc 2.0 新特性 作者:webabcd介绍asp.
1239 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等