8

すべてのリクエスト仕様にCapybara(デフォルトまたはカスタム)のJavaScriptドライバーを使用するようにRSpecをグローバルに構成することは可能ですか?すべてのリクエスト仕様に手動で追加するjs: trueのを忘れることがあり、それはちょっと面倒です。

4

3 に答える 3

10

spec_helper.rb で、次のように設定します。

  config.before(:each) do
    if example.metadata[:type] == :request
      Capybara.current_driver = :selenium # or equivalent javascript driver you are using
    else
      Capybara.use_default_driver # presumed to be :rack_test
    end
  end
于 2012-10-31T20:37:07.153 に答える
8

それ以降のバージョンのカピバラと rspec では、タイプが「機能」であることを確認することが重要です

config.before(:each) do
  if [:request, :feature].include? example.metadata[:type]
    Capybara.current_driver = :poltergeist # or equivalent javascript driver you are using
  else
    Capybara.use_default_driver # presumed to be :rack_test
  end
end

または RSpec 3 の場合 (exampleブロックに渡す)

config.before(:each) do |example|
  if [:request, :feature].include? example.metadata[:type]
    Capybara.current_driver = :poltergeist # or equivalent javascript driver you are using
  else
    Capybara.use_default_driver # presumed to be :rack_test
  end
end
于 2013-03-10T21:49:03.477 に答える
0

すべてのテスト ケースを一度に実行する場合は、このソリューションを参照してください。

Rspec+Capybara オプションで JS ドライバーを変更

于 2015-11-12T19:42:30.673 に答える