Silverlight-Facebook 应用程序的服务器接口单元测试

2024-03-20

我有一个 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/但我不确定如何将它们应用于这种情况。

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

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


解决了。我是这样做的:

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

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

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

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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Silverlight-Facebook 应用程序的服务器接口单元测试 的相关文章

随机推荐

  • 针对只读对象模型的 SqlAlchemy 优化

    我有一个复杂的对象网络 这些对象是使用 sqlalchemy ORM 映射从 sqlite 数据库生成的 我有很多深层嵌套 for parent in owner collection for child in parent collect
  • php mysql 错误 - #1273 - #1273 - 未知排序规则:'utf8mb4_general_ci'

    我刚刚安装了 PhpMyAdmin v4 1 5 仅英文版 我已将其设置为访问 2 台服务器 我的 PC 上的本地服务器和我的服务器上的远程服务器 对于我的本地电脑来说一切都很好 但是当我登录到远程服务器时 我收到了消息 Error MyS
  • 如何从 T-SQL 中的字符串中删除扩展 ASCII 字符?

    我需要从 T SQL 中的 SELECT 语句中过滤 删除 扩展 ASCII 字符 我正在使用存储过程来执行此操作 预期输入 eeee 预期输出 eeee 我所找到的一切都是为了MySQL https forums oracle com f
  • 如何使用 php 检查 smtp 服务器是否正常工作

    我想使用 php 检查我的网站 smtp 是关闭还是开启 我尝试使用 fsockopen 连接到服务器上的端口 25 然后当 smtp 服务运行时它返回 true 这是使用 php 脚本测试 smtp 或 ftp 是否运行的最佳方法 您正在
  • Groovy SQL Oracle 数组函数/过程输出参数注册

    我无法确定在使用存储的函数 过程时如何描述 注册数组输出参数 我需要传递多个数组输出参数以利用 Oracle 数据库中的 api 将参数中的数组发送到存储的函数 过程以及选择数组类型的单列到结果集中都有效 我认为在这种情况下 需要使用数据库
  • 为什么这种开关类型的情况被认为是令人困惑的?

    我一直在寻找一种重构和简化一个函数的方法 我必须根据输入类类型进行数据排序 并陷入困境switch input GetType 快速搜索让我找到了为什么 C switch 语句不允许使用 typeof GetType https stack
  • SQL:选择行不符合同一表内条件的事务

    我有一张包含交易的表 Transactions id account type date time amount 1 001 R 2012 01 01 10 01 00 1000 2 003 R 2012 01 02 12 53 10 15
  • Azure AD 多租户应用程序 - 限制可以注册的租户

    是否可以限制多租户 Azure AD 应用程序 以便只允许选定的少数租户注册 正如本文中提到的 Web 应用程序可以验证用户以检查颁发者值是否属于其批准的租户列表的一部分 然而 这种情况发生在用户已经注册其网络应用程序之后 是否可以将注册过
  • ZF2 模块最佳实践

    Zend Framework 版本 2 中的新模块系统公认的最佳实践是什么 我的目的是为应用程序的每个控制器创建一个模块 还是应该使用这些模块以某种方式将相关控制器及其模型分组在一起 See Rob Allens 模块简介 http akr
  • 如何根据条件(大于或小于)打印文本文件中的特定行/行

    我正在尝试编写一个程序 打印出特定行 行 其中一个值超过该行中的另一个值 例如 这是文本文件的一小部分 01 test1 202 290 A 290 02 test2 303 730 A 0 03 test3 404 180 N 180 我
  • CSS 优先级规则

    我的理解是样式表有 3 种类型 由页面作者定义 由用户定义 即由用户定义并安装到其浏览器中的一组默认样式 浏览器定义的默认样式表 根据如果某个元素与这些样式表中的任何一个选择器都不匹配 则只有这样 属性值才会从父元素继承 然而 这本书还说
  • CA1303,DoNotPassLiteralsAsLocalizedParameters,但我实际上不是

    我的代码得到CA1303 warning from Microsoft Globalization 不要将文字作为本地化参数传递 但我的代码实际上并没有传递文字 private void MyForm Load object sender
  • 如何通过 pyinstaller 安装带有 tkcalendar 模块的 python 应用程序?

    我正在尝试使用 tkcalendar 在 Windows 上使用 pyinstaller 安装 python 应用程序 应用程序正在运行 但 tkcalendar Calendar 不运行 当我在没有安装的情况下运行应用程序时 一切正常 但
  • 旋转文本的行为很奇怪

    I d like to achieve the following 但它的几处伤口正在流血 无法关闭 div1 to top 无法提供动态大小 值 div2 所以像h3 and h4 到目前为止我能做什么 http jsbin com iv
  • 无法在类中实例化通用数据类型

    我有一个不可变的类 具有以下布局 public final class A
  • 如何使用 quazip 压缩目录/文件夹?

    我有一个目录 其中包含我想要压缩的文件和文件夹 我正在使用 qt project quazip 所以我想我写一个函数来打包目录的所有内容 包括文件结构 如何在 zip 文件中创建文件夹 我尝试使用 QuaZipNewInfo 但无法使其工作
  • C#“共享指针”用于替代内存管理?

    我正在寻找一种在 C 中执行此操作的方法 Asker 对象将向 Giver 对象询问 Resource 对象 当被询问时 给予者将在其词典中搜索现有的匹配资源 如果找到 它将返回资源的引用 否则 它将根据数据库数据创建一个新的资源 将该引用
  • jQuery Mobile 不在动态复选框上应用样式并且无法单击

    我试图刷新在菜单选项卡页脚单击时附加在字段集标记中的复选框数量 第一次选项卡访问没问题 但此后 所有复选框都无法再选中 我已经多次修改我的代码 但它不起作用 有时可以检查它们但不应用样式 有时无法检查它们 但应用了样式 我努力了 contr
  • 为什么现实世界中我们需要 Deque 数据结构? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 谁能给我举一个情况的例子Deque https en wikipedia org wiki Double ended queue需要数
  • Silverlight-Facebook 应用程序的服务器接口单元测试

    我有一个 Silverlight 4 客户端在 Google App Engine 上托管的 Facebook 页面上运行 它正在使用gminifb http blog patrickcrosby com 2008 04 20 Write