带有Specflow和模拟浏览器行为的BDD

Ill*_*ati 4 asp.net asp.net-mvc bdd specflow

我已经开始使用SpecFlow来尝试为我的一个ASP.NET MVC Web应用程序编写规范.我遇到了两个基本问题,我没有在谷歌找到任何答案.

  1. 有没有办法模仿浏览器行为,而无需创建实际的浏览器实例.我知道有像"WatiN"这样的库可以创建实际的浏览器实例,我不愿意使用它,因为它可能会显着降低测试性能(我需要在构建服务器中运行它们)

  2. 我需要依赖浏览器或模拟浏览器的原因是我不想在控制器上进行测试,因为它不能保证在我直接实例化控制器时触发所有的动作过滤器(因为它是asp.net mvc引擎的一部分).有人可以建议我采用方法测试我的控制器 - 所有动作过滤器都启动了(这样我可能不想使用浏览器/模拟浏览器)?

谢谢

大黄蜂

Lad*_*nka 6

如果你想测试你的HTTP管道,你需要像华廷,或者您必须手动执行HTTP请求=每次测试必须手动赶上请求,并创建一个同样用WebClientHttpWebRequest在您的测试.我会使用WatiN,因为它可以进行真正的端到端测试.

在构建服务器上运行的测试也必须快速 - 我们有几组测试,其中一些测试运行几个小时.