测试和另外

MvcContrib

第5章

MvcContrib Grid 和带进度的文本上载的利用

MVcContrib是社区开源的asp.net
mvc增强和壮大库,如其中的Grid,即可飞快的开展规划又可灵活的控制表格的布局[比Web
Form 的GridView简化了过多]

在Codeplex.com上得以找到该品种,下边有文档,特别对于Grid有详细的事例参考,如下图

例子在MVCContrib.Extras.release.zip中

以下是帮扶[发展历史,在MVCContrib.release.zip中]

测试

在有六个零件协作时,接口已经定义好的意况,即便某个看重组件如A还尚未实现,此时一旦要举办倚重于A的先后的测试,此时可以动用测试桩来模拟;其余为了减小组件对于其他资源的依靠,如某个组件依赖数据库同时还索要有关的装置等,此时透过测试桩的法门可以削减看重的错综复杂。

一个可用的开源库是Rhino Mocks。

A favorite library for automating the creation of mocks and stubs is
Rhino Mocks written by Oren Eini
(www.ayende.com/projects/rhino-mocks.aspx).

        [Test]

        public void CacheTest()

        {            

            //setup controller w/ fake cache

            var fakeCache = MockRepository.GenerateStub<ICache>();

            var controller = new HomeController(fakeCache);



            //set the cache behavior

            fakeCache.Stub(x => x.Exists("test")).Return(false);



            //invoke the action

            controller.CacheTest();            



            //the item should have been added to the cache            

            fakeCache.AssertWasCalled(x => x.Add("test", "value"));



            //the item should be retrieved from the cache

            fakeCache.AssertWasCalled(x => x.Get<string>("test"));

        }



  

        [Test]

        public void SessionTest()

        {

            var controller = new HomeController();



            //setup fake session

            var httpContext = MockRepository.GenerateStub<HttpContextBase>();

            var mockSession = MockRepository.GenerateStub<HttpSessionStateBase>();

            httpContext.Stub(x => x.Session).Return(mockSession).Repeat.Any();



            //attach fake context/session to controller

            controller.ControllerContext = new ControllerContext(httpContext, new RouteData(), controller);



            //invoke action

            controller.ViewCart();



            //verify methods were called

            mockSession.VerifyAllExpectations();

        }

其他

MS Press的书本Programming Microsoft ASP.NET
MVC2,涉及的百般宏观,详细讲解了该框架的升华历史和促成分析。

特意是其中的例子ProgMvc-山姆(Sam)ples.zip,具体体现了关联该框架的各种方面的恢弘、定制和动用等各地点,具体参考每个工程下的todo.txt表明。

发表评论

电子邮件地址不会被公开。 必填项已用*标注