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