【问题标题】:Unit Testing the Server Interface for a Silverlight-Facebook Application对 Silverlight-Facebook 应用程序的服务器接口进行单元测试
【发布时间】:2010-06-20 21:52:24
【问题描述】:

我有一个 Silverlight 4 客户端在 Google App Engine 上托管的 Facebook 页面上运行。它使用gminifb 与Facebook API 进行通信。 Silverlight 客户端对每个方法的 URI 使用 POST 调用,并通过每次调用从 Facebook 传递会话信息。

该项目正在增长,如果我可以设置一个单元测试系统来进行各种服务器调用,那么当我进行更改时,我可以确保其他一切仍然有效,这将是非常有用的。我之前曾与nUnit 合作过,我喜欢我读到的PEX 的内容,但我不确定如何将它们应用于这种情况。

  1. 为此创建测试系统有哪些选择?各有优缺点?

  2. 如何开始设置这样的东西?

【问题讨论】:

    标签: silverlight unit-testing google-app-engine facebook silverlight-4.0


    【解决方案1】:

    解决了。我是这样做的:

    1. 创建了一个特殊的用户帐户,用于在绕过身份验证的服务器上进行测试。仅通过检查该环境设置中的调试标志在测试环境中执行此操作。这避免了在实时站点中创建任何安全漏洞(因为相同的调试标志在那里将是错误的。)

    2. 创建了一个 C#.NET 解决方案来测试每个 API 调用。宿主项目是一个控制台应用程序(不需要 GUI),具有三种可重复使用的同步方法:
      SendFormRequest(WebRequest request, Dictionary<string,string> pairs),
      GetJsonFromResponse(HttpWebResponse response),
      和ResetAccount()。
      这三种方法允许宿主项目在服务器上发出 HTTP 请求并读取 JSON 响应。

    3. 将每个服务器 API 调用封装在宿主项目的方法调用中。

    4. 在解决方案中创建了一个nUnit 测试项目。然后简单地创建测试,调用宿主项目中的每个包装器方法,使用不同的参数并更改服务器上的值。

    5. 创建了一系列测试来验证对无效参数和数据的正确错误处理。

    它运行良好,并且已经发现了一些已发现的小问题。结果非常有用,可以检查新部署中的重大更改。

    【讨论】:

    猜你喜欢
    • 2011-03-25
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-06
    • 1970-01-01
    • 2012-03-21
    相关资源
    最近更新 更多