【发布时间】:2014-06-17 10:00:12
【问题描述】:
我正在学习 ASP.Net MVC,并且我读过它很容易进行单元测试,因为控制器可以被实例化并调用它们的方法而无需部署到 Web 服务器,并且很容易模拟依赖对象等(参见http://msdn.microsoft.com/en-us/library/gg416511(VS.98).aspx 和其他多个参考)。
还可以通过浏览器使用 Selenium 或 Waitin 在 MVC 应用程序上运行验收级别测试,使用您自己喜欢的框架来编写和控制测试。
我想知道的是,是否可以通过调用已部署、正在运行的 MVC 应用程序中的控制器方法在验收测试级别运行 ATDD 测试,例如来自 Specflow,而不必通过 UI 进行测试?
或者更一般地说,是否可以从测试中以编程方式调用 ASP.Net MVC 应用程序的 API?
似乎在单元测试和基于浏览器的 UI 测试之间可以测试的内容存在差距。有没有人能够弥合这一差距?
【问题讨论】:
标签: c# asp.net-mvc unit-testing tdd atdd