我正在尝试MVC3 Razor视图引擎,并且我正在探索的一个功能是能够对单元测试视图。单元测试MVC3 Razor助手/视图不带字符串
我见过很多的例子,Razor视图可以被编译成一个程序集并呈现为一个字符串。问题是它呈现为一个字符串,所以我留下来做字符串搜索!
这是我正在做的。
- 创建剃刀帮手
- 编译帮手
- 运行编译助手,传递一个ViewModel
- 获取帮助的输出作为某种HTML/XML /树形结构的
我想这样做的原因是我可以测试输出的特定部分。助手可能会吐出包含各种输出垃圾的HTML。我想要做的是查看是否存在具有特定值的复选框(例如)。如果你看过Selenium测试,它与我想要做的类似,除非不作为服务器驱动的测试。
有没有办法让编译的Razor(或其他视图引擎)视图发出除字符串以外的东西?
这就是我现在要去的方向。即使使用Razor,为了测试视图,启动所有依赖关系(例如,TempData)也是一件麻烦事。我可能会查看其他视图引擎,但我认为它是ASP.NET MVC,这是问题。让我知道你是否有任何进展!谢谢 – 2011-02-19 19:33:09
我花了两天时间尝试各种不同的方法来获取呈现为字符串的视图。到目前为止没有运气。每条路都遇到了某种阻力,比如需要实例化一个内部类或者不能使用MVC帮助器。由于我们已经在这个项目上进行了WebAii测试,所以我没有时间让它工作,不得不放弃我的努力。我对自己的项目非常感兴趣,如果/当我想出解决方案时,肯定会回到这里。 – 2011-02-21 20:36:40
有点晚了,但我发布了一些部分,以便在以下问题中获得Razor视图的工作单元测试工具:http://stackoverflow.com/questions/8720222/how-do-i-test-views-using-razor- syntax-in-mvc3 – Lucero 2012-01-04 00:27:47