asp.net-mvc – 尝试使用Moq模拟HtmlHelper时抛出MissingMethodE
发布时间:2020-12-16 09:32:24 所属栏目:asp.Net 来源:网络整理
导读:当试图遵循 article on mocking the htmlhelper with Moq时,我遇到了以下问题.创建htmlhelper时会抛出异常.我只是猜测正在使用城堡windsor(通过查看错误消息). 例外: MissingMethodException occurred Constructor on type ‘Castle.Proxies.ViewContextPro
当试图遵循
article on mocking the htmlhelper with Moq时,我遇到了以下问题.创建htmlhelper时会抛出异常.我只是猜测正在使用城堡windsor(通过查看错误消息).
例外:
堆栈跟踪:
代码: public static HtmlHelper CreateHtmlHelper(ViewDataDictionary vd) { Mock<ViewContext> mockViewContext = new Mock<ViewContext>( new ControllerContext( new Mock<HttpContextBase>().Object,new RouteData(),new Mock<ControllerBase>().Object),new Mock<IView>().Object,vd,new TempDataDictionary()); Mock<IViewDataContainer> mockViewDataContainer = new Mock<IViewDataContainer>(); mockViewDataContainer.Setup(v => v.ViewData).Returns(vd); return new HtmlHelper(mockViewContext.Object,mockViewDataContainer.Object); } 我正在使用ASP MVC 2,Moq 4.0 beta 3,VS2010,使用IDE的测试框架. 如何解决问题并返回HtmlHelper的实例? 解决方法
我已经通过我的博客文章中的代码重现了您的问题.以下更新的方法适用于我:
public static HtmlHelper CreateHtmlHelper(ViewDataDictionary vd) { Mock<ViewContext> mockViewContext = new Mock<ViewContext>( new ControllerContext( new Mock<HttpContextBase>().Object,new TempDataDictionary(),new Mock<TextWriter>().Object); mockViewContext.Setup(vc => vc.ViewData).Returns(vd); var mockViewDataContainer = new Mock<IViewDataContainer>(); mockViewDataContainer.Setup(v => v.ViewData) .Returns(vd); return new HtmlHelper(mockViewContext.Object,mockViewDataContainer.Object); } 我也发布了一个update on my blog. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 使用SQLite做本地数据缓存的思考
- asp.net-core – project.json中两个依赖项部分之间有什么不
- ASP.NET MVC中的简单,硬编码授权,没有复杂的提供程序和数据
- asp.net-mvc – 将MVC添加到现有的ASP.net网站
- asp.net-mvc – 用于表行的Asp.Net MVC WebGrid帮助器自定义
- 登录到MVC 5 ASP.NET模板从根文件夹移动时Web应用程序失败
- asp.net-mvc – ASP.NET MVC中的通用基本控制器错误处理问题
- 将asp mvc3不显眼验证与jquery验证插件混合使用
- asp.net-mvc – Chrome34忽略域名为“.cloudapp.net”的coo
- asp.net-mvc – 使用Razor的Jquery模板如何在text / html脚
推荐文章
站长推荐
- asp.net-mvc – 从Asp.Net Mvc应用程序找不到Dat
- asp.net-mvc – ActionLink后退按钮
- asp.net-mvc – 从ASP .NET MVC 3 _Layout View访
- asp.net-mvc – 如何在运行时之前编译cshtml
- asp.net – NHibernate – ManagedWebSessionCon
- asp.net-mvc – 有什么图形设计器ASP.NET MVC吗?
- asp.net-web-api – 在asp.net web api中有两个参
- asp.net – 什么是Kestrel(vs IIS/Express)
- asp.net-mvc – MvcSiteMapProvider安装错误
- asp.net-mvc – 使用Session进行Asp.net MVC3长轮
热点阅读