测试我的网络表单应用程序的最佳方法是什么?
看起来人们喜欢Watin和硒。
只是想知道,您为什么将 WatiN 称为单元测试工具?上次我检查时,它运行了集成测试。
最好的方法是将所有不依赖于 HttpContext 的代码移动到单独的程序集中并像往常一样运行单元测试。其余的可以用Ivonna进行测试。她不测试客户的行为,这就是 WatiN 可以提供帮助的地方;但是,如果您想单独测试您的页面或控件,她是您唯一的选择。
这是 Webforms 的最大缺点——出于所有实际原因,它在测试控制器的单元测试等方面是不可测试的。
这是 MVC 框架的主要优点之一。
我倾向于将业务逻辑与 UI 代码分离的方法。这是一篇描述单元测试友好模式的文章(Model-View-Presenter)
http://www.unit-testing.net/CurrentArticle/How-To-Use-Model-View-Presenter-With-AspNet-WebForms.html
我会使用 WaitIn 之类的工具:
“WatiN 是 .NET 中的 Web 应用程序测试,此测试记录器将通过在嵌入式 IE 浏览器中记录您的点击来为您生成大量源代码”(来自Scott Hanselman 的博客——感谢 StackOverflow 上的另一篇文章,我发现了这一点
我会选择 WATIR(Ruby 中的 Web 应用程序测试)- http://wtr.rubyforge.org/。我们(Acsys Interactive)已经使用了大约一年,这个工具很棒。
我在 .NET 中开发了一个简单的包装器,以便我可以从单元测试中执行我的 WATIR 脚本。该框架令人难以置信,并且您拥有完整的 Ruby 功能。支持 Firefox 和 Safari(FireWatir 项目)。
它与 WATIN 非常相似(实际上我认为 WATIN 是受 WATIR 启发的),但我发现 WATIR 社区比 WATIN 社区大得多。
那里有你可以使用的测试记录器和大量的教程。
这真的是你的选择。如果您觉得测试需要使用 .NET 并且您不想支持任何其他语言,那么您的选择是 WATIN。另一方面,如果您想尝试一种有趣且功能强大的脚本语言(这就是 Ruby),那么请选择 WATIR。
向 WATIN 伙计们提问,它是否支持 FireFox/Safari?
这是对 Watin、Watir 和 Selenium 的评论 http://adamesterline.com/2007/04/23/watin-watir-and-selenium-reviewed/
显然 Selenium 对测试人员的工作速度很慢,但如果您注意到,正如其中一条评论所指出的那样,这只是由于它支持多种浏览器而造成的。
然而,WatiN 有一个 CTP(社区技术预览)版本,它提供对 Internet Explorer 和 FireFox 自动化的支持。
I have had a great experience using Selenium. Web tests can be very fragile, but here is an article from my blog where I talk about how to make the tests less fragile. http://www.unit-testing.net/CurrentArticle/How-To-Make-Web-Tests-Less-Fragile.html