Capybara.javascript_driverは、js: true
メタデータがaddの場合にのみ(通常の設定で)使用されます。テストに追加されたので、javascript_driverの値をwebkit_billyにリセットする必要はありません。これは、js
メタデータを使用するすべてのテストに影響するからです。デフォルト動作の実装を見ることができます(capybara/rspecが必要な場合)here これはCapybara.default_driverが何であってもテストのドライバを最初に設定した場合、js
のメタデータが存在する場合、ドライバにCapybaraの値を設定します.javascript_driverと入力し、driver
のメタデータが存在する場合はそれを設定します。 driver
メタデータが 'js'より優先され、何もdefault_driverを取得しない場合。これが意味することは、特別な追加なしに、あなたはdriver: :webkit_billy
をテストに指定して、そのテストにwebkit_billyを使うことができます。 billy: true
を指定することができるという希望振る舞いを追加するには
あなたはちょうどあなたが「カピバラ/ RSpecの」を必要としましたが、データベース・クリーナの設定が定義される前に、どこか
RSpec.configure do |config|
config.before(:each, billy: true) do
Capybara.current_driver = :webkit_billy
end
end
後にする必要があります。次に、Capybara.default_driverを、メタデータが指定されていないときに使用するドライバに設定し、js
メタデータが指定されたときに使用するドライバにCapybara.javascript_driverを設定します。したがって、 - webkitドライバ(billyが指定されている場合を除く)を常に使用したい場合はを指定し、js: true
を指定する必要はありませんが、特定のテストにdriver: :rack_test
メタデータを追加することによって、
注:推奨されているdatabase_cleaner config-https://github.com/DatabaseCleaner/database_cleaner#rspec-with-capybara-exampleを使用していて、js
メタデータが存在するだけでなく、使用されている実際のドライバに基づいてデータベース戦略を変更すると仮定します。