I am creating a sample application for rspec testing, and I followed the below steps In Gemfile:
gem \"rspec-rails\", :group => [:test, :
Got working after including the capybara dsl to spec helper
config.include Capybara::DSL
Since you didn't specify a version for Capybara in your Gemfile, I assume you've got version >= 2.0
, which means that any tests that use page
should go under a spec/features directory.
Have a look at the following links for more information:
If you don't want to use a spec/features directory, you should be able to mark a test as a feature
in the following way:
require 'spec_helper'
describe "Users" do
describe " List users", type: :feature do
it "List all users" do
get users_path
page.has_content?('List Users')
end
end
end
Its worth checking out the new Capybara DSL for integration tests (note the features directory):
# spec/features/user_list_spec.rb
require 'spec_helper'
feature 'User list' do
scenario 'List all users' do
visit users_path
expect(page).to have_content 'List Users'
end
end
I wrote a blog post with some detailed information on End-to-end testing with RSpec integration tests and Capybara using RSpec 2.0 expect syntax, along with Capybara DSL for feature/scenarios
.
You could also just add this to your spec_helper.rb:
require 'capybara/rspec'