单元测试视图?
时间:2020-03-06 14:54:27 来源:igfitidea点击:
关于如何对ASP.NET MVC中的视图进行单元测试的任何想法?
当我启动我的MVC项目时,我厌倦了遇到黄屏死机,因为我忘记了在控制器的一种"操作"方法更改名称时更新视图。
解决方案
S. Walther可以解决此问题,但看起来有点麻烦……
http://stephenwalther.com/archive/2008/07/26/asp-net-mvc-tip-25-unit-test-your-views-without-a-web-server
我将进一步研究...似乎是一件很合理的事情...
我们可以使用Watin编写集成测试,但是如果我们只需要快速检查一下视图中是否有错误,还可以尝试本文中提到的解决方案:在加载它们之前如何编译ASP.NET页与网络服务器。预先构建aspx页面,我们一切顺利!
嗯,除了AugustLights指出的Stephen Walther的博客条目外,还有其他一些选择...
吉姆·齐默尔曼(Jim Zimmerman)在博客上谈论了他编写的一些代码,这些代码可以动态地预编译他的ASP.NET MVC视图页面,以发现任何简单的错误。
我们也可以使用具有预编译功能的Spark View Engine,而不是使用由ASP.NET MVC启用的默认ASPX View Engine。这是一个巨大的变化,可能对我们来说不是一个选择;
如果我们想了解有关Spark或者其他View Engine的更多信息,Scott Hanselman会在一篇很棒的博客文章中描述它们以及它们的外观。
在项目文件中将<MvcBuildViews>
设置为true,编译器将在每次编译时让我们知道这种问题。
假定项目文件还包含以下部分(在ASP.NET MVC 1.0中自动添加的获取)
<Target Name="AfterBuild" Condition="'$(MvcBuildViews)'=='true'"> <AspNetCompiler VirtualPath="temp" PhysicalPath="$(ProjectDir)\..$(ProjectName)" /> </Target>