如何对 ASP MVC 应用程序的 View 进行单元测试?
我试过 mvc contrib 测试助手...
_controller.Index().AssertViewRendered();
但这实际上并没有测试 View 。
例如,我可以愉快地在 View 中插入一些伪造代码,并得到可怕的死机蓝屏,而我的单元测试对此一无所知。
有没有确定的方法可以做到这一点?我需要模拟 View 引擎吗? mvccontrib 是否迎合了这一点?
我原以为这是一个非常普遍的要求,但我找不到太多相关信息!
谢谢
编辑 我真正想要的是编译时检查,以确保模型更改不会影响 View 。
这个问题包含了启用构建时 View 编译的说明,这对我现在来说已经足够了。 Compile Views in ASP.NET MVC
最佳答案
有3个选项:
- 您想对 View 中的代码进行单元测试。在这种情况下,您必须将代码移至 Controller ,因为拥有此代码不是 View 的责任。
- 您要确保 View 确实显示在浏览器中。使用浏览器 UI 测试工具,如 waitin 或 selenium。这不会创建 View 的孤立测试,而是应用程序的大部分。这听起来像是一个优势,但单独测试 View 是否有任何值(value)?
- 您想测试您认为代码是可编译的代码。然后编译代码。这可以在单元测试中完成,方法是手动调用 view.compile 或在构建过程中打开 View 编译器。
关于c# - 单元测试 asp mvc View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2314732/