如何使用 Omniauth +水豚用于测试 FB Connect?

发布于 2024-12-02 01:54:04 字数 171 浏览 0 评论 0原文

我有一个 Rails 3 应用程序 + 设计,使用 capybara 进行集成测试。现在我已经进行了签名和注册测试,但还没有 FB Connect 测试。

如何添加 Omniauth 测试以确保注册和登录工作?任何人都有一个示例或最新的教程来展示这是如何完成的?我能找到的只是一些信息片段。

谢谢

I have a rails 3 app + devise using capybara for integration tests. Right now I have sign and sign up tests working but don't have tests for FB Connect.

How can I add Omniauth tests to ensure sign up and sign in work? Any one have an example or a up to date tutorial that shows how this is done? All I could find is fragments of info.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

暗恋未遂 2024-12-09 01:54:04

我没有完整的例子。我将以下内容添加到我的 test.rb 中(您可以将其添加到初始化程序中,如果环境是测试则添加它)。

  OmniAuth.config.test_mode = true

  FACEBOOK_INFO = {
    "id"=> "220439",
    "email" => "[email protected]",
  }

  OmniAuth.config.mock_auth[:facebook] = {
    "uid" => '12345',
    "provider" => 'facebook',
    "user_info" => {"name" => "Bret Taylor", "nickname" => 'btaylor'},
    "credentials" => {"token" => 'plataformatec'},
    "extra" => {"user_hash" => FACEBOOK_INFO}
  }

这模拟了对omniauth 的调用。因此,在您的测试中,当您模拟单击 facebook 按钮时,您将得到的响应是来自 OmniAuth.config.mock_auth[:facebook] 的响应。

I don't have the complete example. I added the following to my test.rb(You can add it to a initializer and add it if the enviroment is test).

  OmniAuth.config.test_mode = true

  FACEBOOK_INFO = {
    "id"=> "220439",
    "email" => "[email protected]",
  }

  OmniAuth.config.mock_auth[:facebook] = {
    "uid" => '12345',
    "provider" => 'facebook',
    "user_info" => {"name" => "Bret Taylor", "nickname" => 'btaylor'},
    "credentials" => {"token" => 'plataformatec'},
    "extra" => {"user_hash" => FACEBOOK_INFO}
  }

This simulates the call to omniauth. So in your test, when you simulate a click to the facebook button, the response you will get is the one from OmniAuth.config.mock_auth[:facebook].

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文