2012-10-31 12 views

答えて

10

には、次のように設定します。

カピバラとRSpecのそれ以降のバージョンについては
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 
+0

これは機能しますが、これは仕様を要求するように制限したいと思います。もちろん、私はすべての単一の要求仕様ファイルにこの行を入れることができますが、私はそれをグローバルに構成したいと思います。あなたのようなものは、特定のスペックタイプの特定のモジュールを含めることができます。 – rubiii

+0

@rubiiiはスペックタイプ – prusswan

+0

を確認する方法で更新されました。どうもありがとうございました! – rubiii

8

、それは(タイプは "機能"

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 
+0

RSpec> = 3を使用している場合、同じ動作をするには 'config.before(:each)do | example |'のような最初の行を書く必要があります。 @joshua-muheim経由でもっと見る:http://stackoverflow.com/a/24571607/2948832 – styger

+1

@styger、ありがとう、私は答えを更新しました。 – justingordon

0

すべてのテストを実行するには、このソリューションを参照してください。caすぐに嘆く。

Rspec+Capybara optionally change JS driver
+0

関連情報を投稿に入れてください。 –

関連する問題