Pau*_*sey 20 c# asp.net asp.net-mvc unit-testing
我如何单元测试ASP MVC应用程序的视图?
我试过mvc contrib test helper ...
_controller.Index().AssertViewRendered();
Run Code Online (Sandbox Code Playgroud)
但这实际上并没有测试视图.
例如,我可以愉快地在视图中插入一些伪造的代码,并获得可怕的黄色死亡屏幕,而我的单元测试不知道它.
这有什么建立的方法吗?我需要模拟视图引擎吗?mvccontrib是否迎合了这一点?
我本来以为这是一个非常普遍的要求,但我找不到太多关于它的东西!
谢谢
编辑 我真正追求的是编译时间检查,以确保模型更改不会影响视图.
这个问题包含了启用构建时间视图编译的说明,这对我来说已经足够了.在ASP.NET MVC中编译视图
Pac*_*aco 16
有3种选择:
可以使用Visual Studio测试工具通过单元测试来测试视图,但是只能使用控制器创建的值(例如ViewBag:中的值ViewBag.message = "My message."
)或渲染视图的名称:
[TestMethod]
public void MyActionTest()
{
// Arrange
var lController = new HomeController();
// Act
var lResult = lController.MyAction() as ViewResult;
// Assert
Assert.IsTrue(lResult.ViewBag.message == "My message.", "Wrong Message in Viewbag.");
Assert.IsTrue(lResult.ViewName == "MyView", "Incorrect view.");
}
Run Code Online (Sandbox Code Playgroud)
如果要自动测试包括HTML在内的整个视图,我建议使用Selenium IDE作为快速,简单的解决方案,并建议Selenium Web Driver用于跨浏览器测试和专家。
归档时间: |
|
查看次数: |
14232 次 |
最近记录: |