单元测试 MVC3 客户端功能

Unit Testing MVC3 Client-Side functionality

本文关键字:功能 客户端 MVC3 单元测试      更新时间:2023-09-26

我很难掌握我看到的用于对网站UI功能进行单元测试的方法(在本例中,使用 ASP.NET MVC3)。 我尝试使用 Watin,从一般意义上讲,这是我想要的,除了必须依赖 Web 浏览器的实际实例才能使其工作,因为它使整个过程变得相当复杂,尤其是对于 CI。

在我的理想世界中,这就是我想象的测试工作方式:

  1. 将模型传递到视图,获取输出
  2. 使用视图输出填充编程 DOM
  3. 例如,该测试将触发 DOM 事件来模拟单击按钮,并验证 DOM 是否以预期的方式进行操作。

我意识到这将需要一个JavaScript引擎和一个用.NET或.NET绑定编写的DOM实现。是否存在针对我的问题的明显解决方案? 如果没有,我想做这件事的方式有什么特别愚蠢/错误的地方吗?

您所描述的被称为无头浏览器 - XBrowser就是这样一种努力,尽管最后一次签入日期为2010年4月。

另请参阅这篇关于在 .NET 开发中使用 HtmlUnit 的文章。