【问题标题】:What is the best way to test authlogic-open-id with cucumber and webrat?用黄瓜和 webrat 测试 authlogic-open-id 的最佳方法是什么?
【发布时间】:2009-08-23 22:50:40
【问题描述】:

我在使用 cucumber 和 webrat 在 rails 应用程序中测试 authlogic-openid 身份验证时遇到了问题。按照 Ryan Bates 的excellent screencast,我能够使用 open-id 插件安装 authlogic。当我使用浏览器登录时,OpenID 可以工作,但到目前为止,我无法使用 cucumber 和 webrat 测试应用程序。

我尝试使用rots 作为虚拟开放ID 服务器。当我在浏览器中尝试时,这同样有效,但 webrat 不会正确遵循使用虚拟开放 id 服务器进行身份验证所需的 get/post 重定向。

This answer on SO suggests 覆盖身份验证方法以始终返回成功登录,但这种方法似乎不像集成测试应用程序。

功能测试 authlogic-open-id 的最佳方法是什么?我应该打扰吗?我是否应该在用户已经登录并假设 OpenID 可以工作时测试这些操作?

【问题讨论】:

    标签: ruby-on-rails ruby openid cucumber authlogic


    【解决方案1】:

    你试过测试助手set_session_for(@user)吗?我会假设该插件已经过测试,并且确实没有必要再次测试它(除非您已对其进行修改)。

    【讨论】:

    • 感谢您的回答。我认为不可能为 webrat 设置会话变量,因为它的行为就像浏览器一样查看网站,独立于测试代码。因此 ruby​​ 变量不能传递给它。此外,我并没有尝试专门测试 authlogic,而是我的身份验证系统如何在整个站点上运行。
    【解决方案2】:

    我在 authlogic 邮件列表上问了同样的问题。我得到了一个很好的答案,指示我使用带有一些补丁代码的 WWW:Mechanise,使 webrat 遵循所有重定向。这似乎适用于使用 authlogic 开放 id 和本地开放 id 服务器进行 rails 集成测试。

    这是discussion thread.

    【讨论】:

      猜你喜欢
      • 2011-04-02
      • 1970-01-01
      • 2010-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 2020-06-04
      • 1970-01-01
      相关资源
      最近更新 更多