我有一个 Silverlight 4 客户端在 Google App Engine 上托管的 Facebook 页面上运行。它正在使用gminifb http://blog.patrickcrosby.com/2008/04/20/Write-Facebook-apps-using-Google-AppEngine.html与 Facebook API 进行通信。 Silverlight 客户端对每个方法的 URI 使用 POST 调用,并通过每次调用传递来自 Facebook 的会话信息。
该项目正在不断发展,如果我可以建立一个单元测试系统来进行各种服务器调用,那么当我进行更改时,我可以确保其他一切仍然有效,这将非常有用。我曾与nUnit http://www.nunit.org/以前,我喜欢我读过的内容PEX http://research.microsoft.com/en-us/projects/pex/但我不确定如何将它们应用于这种情况。
为此创建测试系统有哪些选择?各自的优点/缺点?
我该如何开始设置这样的东西?
解决了。我是这样做的:
创建一个特殊用户帐户,用于在绕过身份验证的服务器上进行测试。仅通过检查该环境设置中的调试标志在测试环境中执行此操作。这避免了在实时站点中创建任何安全漏洞(因为相同的调试标志在那里将是错误的。)
创建了一个 C#.NET 解决方案来测试每个 API 调用。宿主项目是一个控制台应用程序(不需要 GUI),具有三个可重用的同步方法:
SendFormRequest(WebRequest request, Dictionary<string,string> pairs)
,
GetJsonFromResponse(HttpWebResponse response)
,
and ResetAccount()
.
这三种方法允许宿主项目在服务器上发出 HTTP 请求并读取 JSON 响应。
将每个服务器 API 调用包装在宿主项目中的方法调用内。
创建了一个nUnit http://www.nunit.org/解决方案中的测试项目。然后简单地创建测试,使用不同的参数并更改服务器上的值来调用宿主项目中的每个包装器方法。
创建了一系列测试来验证对无效参数和数据的正确错误处理。
它运行完美,并且已经发现了一些小问题。结果非常有用,并将检查新部署的重大更改。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)