在ASP.NET MVC中测试HtmlHelpers
发布时间:2020-05-23 11:50:19 所属栏目:asp.Net 来源:互联网
导读:有没有办法(单位)测试我自己的HtmlHelpers?如果我想要自定义控件(由HtmlHelper呈现),并且我知道该控件的请求如何首先编写测试 – 然后编写代码?有没有一个特定的(好)的方法来做到这一点? 这值得吗? 主要的问题是您必须模拟HtmlHelper,因为您可能正在使
|
有没有办法(单位)测试我自己的HtmlHelpers?如果我想要自定义控件(由HtmlHelper呈现),并且我知道该控件的请求如何首先编写测试 – 然后编写代码?有没有一个特定的(好)的方法来做到这一点? 这值得吗? 解决方法主要的问题是您必须模拟HtmlHelper,因为您可能正在使用帮助程序的方法来获取路由或值或返回另一个扩展方法的结果。 HtmlHelper类有很多属性,其中一些类似于ViewContext或当前Controller的复杂性。This post from Ben Hart解释了如何用Moq创建这样的模拟。可以轻松地翻译成另一个模拟框架。 这是我的Rhino Mocks版本,适合于MVC框架中的变化。它没有完全测试,但它是为我工作,但不期望完美的结果: public static HtmlHelper CreateHtmlHelper(ViewDataDictionary viewData)
{
var mocks = new MockRepository();
var cc = mocks.DynamicMock<ControllerContext>(
mocks.DynamicMock<HttpContextBase>(),new RouteData(),mocks.DynamicMock<ControllerBase>());
var mockViewContext = mocks.DynamicMock<ViewContext>(
cc,mocks.DynamicMock<IView>(),viewData,new TempDataDictionary());
var mockViewDataContainer = mocks.DynamicMock<IViewDataContainer>();
mockViewDataContainer.Expect(v => v.ViewData).Return(viewData);
return new HtmlHelper(mockViewContext,mockViewDataContainer);
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- WebApi ASP.NET身份Facebook登录
- asp.net – 在IE10中不应该“X-UA兼容IE =边缘”头覆盖“兼
- ASP.NET Core 1.0 ConfigurationBuilder().AddJsonFile(“a
- asp.net core 实现一个简单的仓储的方法
- asp.net – 在Microsoft Windows Azure上设置网站的默认网页
- asp.net – Elmah错误日志记录,我可以只记录一条消息吗?
- 回发后用F5写的asp.net问题,因为它做了应有的事情
- asp.net-mvc-3 – Asp.Net MVC 3自定义WebViewPage在不同的
- asp.net-mvc – 如何使用Autofac将控制器的ModelState传递给
- asp.net-mvc – 如何在MVC中测试ModelMetadata.FromLambdaE
推荐文章
站长推荐
- asp.net-mvc – 出现在MVC4 Razor View中的奇怪的
- asp.net-mvc – 为什么在我的ASP MVC4应用程序中
- asp.net – Dotnet核心2.0认证多个模式身份cooki
- asp.net – 如何正确编码mailto链接?
- asp.net-web-api – ASP.NET Web API HTTP删除40
- asp.net-web-api – 如何在ASP.NET Web API中设置
- asp.net – 如何使一个TextBox控件是多行不可调整
- asp.net – 如何使用JQuery与母版页?
- asp.net-mvc-3 – mvc是否支持整个区域的Web.con
- asp.net-mvc – 如何在razor(CSHTML)中设置conte
热点阅读
