我从事 .net 单元测试和其他工作已经有一段时间了。现在我需要为ascx 和 ascx.cs页面创建测试(但它的 aspx 和 aspx.cs 引用也可能有帮助)。我对网络测试不是很熟悉。任何人都可以提供可能有帮助的提示或参考资料(教程、关于最佳实践的博客文章等)吗?
它可以是有关使用 VS2008 工具进行测试的参考资料,也可以是使用文本编辑器对测试进行编码的参考资料。
首先,让我们退后一步,通过测试 UI 页面和控件来弄清楚您要完成的工作。你只是想看看你的应用程序数据可以在页面/控件中呈现吗?
根据我的经验,测试 Web UI 层需要的工作量要比测试分离良好的业务层和数据层多一个数量级。如果您按照可靠的 MVC 模式设计应用程序,您可以轻松地自动测试控制器和模型层,其中包括所有数据访问和业务规则。这应该使用 MSTest、NUnit 或 XUnit 等来完成。
您的 Web 表示层(即 Web .ASPX 页面和 .ASCX 用户控件)应该通过控制器连接到相同的业务逻辑......这已经过测试。
如果您相信 80/20 规则,在这种情况下,这意味着您将花费 20% 的精力来测试 80% 的应用程序。对于大多数项目来说,加倍努力对单个页面和控件进行自动化测试是矫枉过正的。相反,我建议只在 Visual Studio 中创建一个负载测试,记录基本用例,例如登录、加载一些页面以及与一些页面控件交互。
运行此负载测试以验证应用程序在您的开发和测试环境中的行为是否正确,一旦投入生产,您将需要实际用户来验证一切是否正常工作。
要查看有关 ASP.NET MVC2 框架的文档,请单击此处
要查看 MVC 模式的一般描述,请单击此处
我建议不要测试“ascx 和 ascx.cs”,而是测试显示给用户的 UI 并测试服务/存储库/模块(如果您使用一些好的模块化架构并且没有在代码隐藏页面中编写所有代码)。要测试 UI,您可以使用Selenium RC。它有很多使用示例:
http ://www.lostechies.com/blogs/agilecruz/archive/2009/02/10/how-to-configure-selenium-rc-for-use-in-c- nunit-tests.aspx
http://thetestingblog.com/2009/09/10/selenium-rc-in-c-using-nunit-an-end-to-end-example/
http://www.stevetrefethen.com /blog/AutomatedtestingofASPNETwebapplicationsusingSelenium.aspx
http://codebetter.com/blogs/jeremy.miller/archive/2006/05/14/144666.aspx
还有一个特殊的.net 工具包。
获取 Fiddler2的副本。运行时,它将“记录”您与 ASP.NET 服务器的会话(请求和响应 - 在“记录”新的 Web 测试时也由 Visual Studio 完成)。然后,您可以选择请求并将它们保存为 Visual Studion Web 测试。
剩下的就是了解 ASP.NET 如何创建和使用请求和响应来控制应用程序。
将您的 Web 测试转换为编码的 Web 测试,并在 Microsoft 中搜索 Web 测试使用的每个对象的详细信息以获得额外的功劳。