asp.net-mvc – 如何对剃刀视图进行单元测试
当斯科特格思里
first blogged on Razor时,他写道
但是,我找不到关于剃刀可测试性的其他声明(或示例). 目前是否可以通过简单的方式对剃刀视图进行单元测试? (在asp.net mvc应用程序中,即.即NancyFx在其nancy.testing-package中带来了可测试性.) (目前我不在乎if views should be tested or not.) 我知道有loads of questions like this one,但大多数都相当古老…… 解决方法
我认为您可以对任何Razor视图进行单元测试,如下所示:
ViewResult v = View("~/Views/Home/Index.cshtml"); if (string.IsNullOrEmpty(v.ViewName)) v.ViewName = RouteData.GetRequiredString("action"); ViewEngineResult result = null; StringBuilder sb = new StringBuilder(); StringWriter textwriter = new StringWriter(sb); HtmlTextWriter htmlwriter = new HtmlTextWriter(textwriter); if (v.View == null) { result = new ViewEngineResult(new RazorView(ControllerContext,"~/Views/Home/Index.cshtml",null,false,null),new RazorViewEngine()); v.View = result.View; } ViewContext viewContext = new ViewContext(ControllerContext,v.View,ViewData,TempData,htmlwriter); v.View.Render(viewContext,htmlwriter); string html = sb.ToString(); 在此之后,您可以解析html以检查具有规范的内容. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – MiniProfiler.Stop()上的MVC Mini Profiler异常
- 服务器NLog日志无法正常写入或者只能部分写入
- asp.net – 将默认的MVC 4模板部署到Windows Azure
- asp.net-mvc – 避免“类或CssClass值未定义”ASP.NET MVC中
- 哪个是在ASP.NET中使用字符串的最佳实践(C#)
- asp.net-mvc-4 – SessionAuthenticationModule Cookie处理
- asp.net-mvc – asp.net mvc复选框不一致
- asp.net-mvc – 如何在保留控制器名称的同时分解ASP.NET MV
- asp.net – Gridview编辑,点击两次问题
- 使用asp.net必填字段验证器和两个复选框
- asp.net – 使用javascript调整大小的Gridview列
- asp.net-mvc – 带有html实体的MVC标签
- asp.net-mvc – mvc 4 beginform with route nam
- 在asp.net应用程序中启用c#7
- 实体框架 – 带有实体框架的MVC 3和ASP.Net脚手架
- asp.net-mvc-3 – 在Razor ASP.Net MVC3中使用另
- asp.net-mvc – 我是否真的使用ninject和NHibern
- asp.net – 存储库是否应该调用另一个存储库?或
- .net – RangeValidator不能算?
- asp.net-mvc – 如何从剃刀视图访问My.Resources