c# - 单元测试 asp mvc View

标签 c# asp.net asp.net-mvc unit-testing

如何对 ASP MVC 应用程序的 View 进行单元测试?

我试过 mvc contrib 测试助手...

 _controller.Index().AssertViewRendered();

但这实际上并没有测试 View 。

例如,我可以愉快地在 View 中插入一些伪造代码,并得到可怕的死机蓝屏,而我的单元测试对此一无所知。

有没有确定的方法可以做到这一点?我需要模拟 View 引擎吗? mvccontrib 是否迎合了这一点?

我原以为这是一个非常普遍的要求,但我找不到太多相关信息!

谢谢

编辑 我真正想要的是编译时检查,以确保模型更改不会影响 View 。

这个问题包含了启用构建时 View 编译的说明,这对我现在来说已经足够了。 Compile Views in ASP.NET MVC

最佳答案

有3个选项:

  1. 您想对 View 中的代码进行单元测试。在这种情况下,您必须将代码移至 Controller ,因为拥有此代码不是 View 的责任。
  2. 您要确保 View 确实显示在浏览器中。使用浏览器 UI 测试工具,如 waitin 或 selenium。这不会创建 View 的孤立测试,而是应用程序的大部分。这听起来像是一个优势,但单独测试 View 是否有任何值(value)?
  3. 您想测试您认为代码是可编译的代码。然后编译代码。这可以在单元测试中完成,方法是手动调用 view.compile 或在构建过程中打开 View 编译器。

关于c# - 单元测试 asp mvc View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2314732/

相关文章:

c# - LINQ 数据过滤仅在调试期间有效

c# - 获取 datagridview 在计时器上刷新

c# - C#音频和视频流

asp.net - 如何在 web.config 文件中包含 &/&

.net - 我应该编写自己的 GridView 实现吗?

javascript - 如何在 mvc View 中将 Razor 值传递给 jquery 函数

css - bootstrap-modal 两个实例

c# 将 URL 中的图像加载到 picturebox

c# - 使用 textchange 事件添加/减去文本框

asp.net-mvc - MVC 和 NOSQL : Saving View Models directly to MongoDB?