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-mvc – ASP.NET MVC:从控制器返回CDN图像
- asp.net – 为什么我们应该通过部分视图使用MVC 6功能视图组
- ASP.NET如何渲染控件到HTML?
- asp.net – VirtualPathUtility.ToAbsolute()VS. Url.Conte
- asp.net – 超过了JavaScriptSerializer.MaxJsonLength.处理
- asp.net – IE8 Win7 Facebook Connect问题
- asp.net-mvc – 从MVC中的控制器确定部分视图的模型
- asp.net-mvc – 处理ASP.NET MVC中的路由错误
- asp.net – 如何在Visual Studio中添加NUnit
- asp.net-core – 如何为asp.net vnext使用不同的.net语言(F
