私の Cucumber シナリオは、サード パーティ プロバイダーからの認証をテストするために使用されます。登録ページで Facebook の接続ボタンをクリックすると、Facebook にリダイレクトされ、資格情報が Facebook によって承認されると、私の Web サイトにリダイレクトされます。
私のセレン テストでは、リダイレクト時に開発データベースを使用しています。テストデータベースが空であるため、そうであってはならないデータがあるページになってしまうため、これを知っています。
機能/authentication.feature:
@javascript
Scenario: Signup through Facebook
When I am on the signup page
And I click the Facebook authentication link
And I fill and submit the Facebook form
Then I should be on the Add additional information page
I should be on the Add additional information page
私はそこに着かないので、これはステップで失敗します。これは、開発データベースを使用していることを意味する facebook ユーザーのデータ行が存在することを意味します。不足している設定はありますか?
機能/サポート/env.rb
require 'cucumber/rails'
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path(File.dirname(__FILE__) + '/../../config/environment')
Capybara.default_selector = :css
Capybara.javascript_driver = :webkit
Capybara.app_host = "http://localhost:3000"
# factory_girl Factory definitions
Dir[(Rails.root + "spec/factories/**/*.rb").to_s].each {|factory| require factory}
ActionController::Base.allow_rescue = false
Cucumber::Rails::Database.javascript_strategy = :truncation
Cucumber::Rails::World.use_transactional_fixtures = true