Hi.
I use RSpec-Rails 2.6.1 together with Capybara 1.0.0.
Whenever I start my integration (request) tests I get the following
error:
Failure/Error: page.execute_script(''$
("div.editable:first").trigger("mouseover");'')
Selenium::WebDriver::Error::UnexpectedJavascriptError:
$ is not defined
It seems that it can''t find jQuery in there. Another strange thing is
that it doesn''t start the browser at all when telling Capybara to use
the Selenium driver.
Why do I write this here!? Because when I switch back to RSpec 2.5
everything runs fine again. Do I have to re-configure something for
RSpec 2.6? Any clue what the cause could be?
Regards,
Kai
Here is also the spec helper I use for my integration tests:
ENV["RAILS_ENV"] ||= ''test''
require File.expand_path("../../config/environment", __FILE__)
require ''rspec/rails''
require ''webrat''
require ''capybara/rspec''
require "database_cleaner"
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
RSpec.configure do |config|
config.filter_run :focus => true
config.run_all_when_everything_filtered = true
config.filter_run_excluding :exclude => true
config.use_transactional_fixtures = false
config.mock_with :rspec
config.before(:all) do
DatabaseCleaner.strategy = :truncation
DatabaseCleaner.clean
end
config.after(:each) do
DatabaseCleaner.clean
Sunspot.remove_all!
end
end
Webrat.configure do |config|
config.mode = :rails
end
David Chelimsky
2011-Jun-17 19:23 UTC
[rspec-users] RSpec 2.6 + Capybara 1.0 incompatibility
On Jun 17, 2011, at 2:20 PM, Kai Schlamp wrote:> Here is also the spec helper I use for my integration tests: > > ENV["RAILS_ENV"] ||= ''test'' > require File.expand_path("../../config/environment", __FILE__) > require ''rspec/rails'' > require ''webrat'' > require ''capybara/rspec'' > require "database_cleaner" > > Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f} > > RSpec.configure do |config| > config.filter_run :focus => true > config.run_all_when_everything_filtered = true > config.filter_run_excluding :exclude => true > config.use_transactional_fixtures = false > config.mock_with :rspec > > config.before(:all) do > DatabaseCleaner.strategy = :truncation > DatabaseCleaner.clean > end > > config.after(:each) do > DatabaseCleaner.clean > Sunspot.remove_all! > end > end > > Webrat.configure do |config| > config.mode = :rails > endWebrat and Capybara are not compatible, as they each do similar things in different ways. This wasn''t a visible issue in rspec-rails-2.5 because capybara was only mixed in to request specs, but 2.6 mixes it into view and helper specs as well. HTH, David