Skip to content

Instantly share code, notes, and snippets.

@rrgayhart
Created December 30, 2013 21:43
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save rrgayhart/8188700 to your computer and use it in GitHub Desktop.
Save rrgayhart/8188700 to your computer and use it in GitHub Desktop.
How to set up database cleaner and selenium testing and rspec
development and test gems
----------------------------------------------
group :development, :test do
gem 'sqlite3'
gem 'rspec-rails'
gem "capybara"
gem 'selenium-webdriver'
gem 'shoulda-matchers'
gem 'launchy'
gem 'database_cleaner'
end
-----------------------------------------------
spec/support/database_cleaner.rb
-----------------------------------------------
RSpec.configure do |config|
config.before(:suite) do
DatabaseCleaner.clean_with(:truncation)
end
config.before(:each) do
DatabaseCleaner.strategy = :transaction
end
config.before(:each, :js => true) do
DatabaseCleaner.strategy = :truncation
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
end
-----------------------------------
Spec Helper
___________________________________
require 'capybara/rspec'
require 'capybara/rails'
-----------------------------------
The run 'rails generate rspec:install' to create the directory
------------------------------------
To test a javascript element, you need to add :js => true before the do in the it block
example
it "should be able enter email and generate badge code", :js => true do
@rrgayhart
Copy link
Author

Setting up poltergeist -- supposedly - still doesn't work for me

group :development, :test do
gem 'sqlite3'
gem 'rspec-rails'
gem 'capybara'
gem 'shoulda-matchers'
gem 'launchy'
gem 'poltergeist'

end

Spec Helper


require 'capybara/rspec'

require 'capybara/rails'

The run 'rails generate rspec:install' to create the directory

In the spec helper -
require 'capybara/poltergeist'
Capybara.javascript_driver = :poltergeist

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment