什么是最好的方式来测试web表单的应用程序(ASP.NET )
-
02-07-2019 - |
题
什么是最好的方法测试我的web表单的应用程序?
看起来像人们都热爱Watin和硒。
其他提示
只是想知道,为什么你会称WatiN为单元测试工具?上次我检查时,它运行了集成测试。
最好的方法是将所有不依赖于HttpContext的代码移动到单独的程序集并像往常一样运行单元测试。其余的可以使用 Ivonna 进行测试。她不测试客户行为,这是WatiN可以提供帮助的地方;但是,如果您想单独测试您的页面或控件,她是您唯一的选择。
这是Webforms的最大缺点 - 出于各种实际原因,它在测试控制器的单元测试等方面是不可测试的。
这是MVC框架的主要优势之一。
我倾向于赞成将业务逻辑从UI代码中分离出来的方法。 这是一篇描述单元测试友好模式的文章(Model-View-Presenter)
我会使用像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 /华廷-的Watir和 - 硒评审/
显然Selenium对测试人员工作的速度相当慢,但是如果您注意到,正如其中一条评论所指出的那样,这只是因为它支持多个浏览器。
然而,有一个WatiN的CTP(社区技术预览版),它支持Internet Explorer和FireFox自动化。
我使用Selenium有很棒的经验。 Web测试可能非常脆弱,但是我的博客中有一篇文章,我在这里讨论如何使测试不那么脆弱。 http://www.unit-testing .NET / CurrentArticle /如何对做Web方式的测试少,Fragile.html