I’ve been using Capybara for integration/request testing, but have only just realised I can’t do view testing with it.
This SO answer suggests Webrat and Capybara can be used in tandem; but the RSpec docs suggest one must choose between the two. Here’s another github thread that suggests webrat can be used for views and capybara for integration.
I’ve found that if I include Webrat in my gemfile, I can use webrat for views with no problem, but my capybara-styled integration tests no longer work. Specifically, I get an error with the following simple example:
it "should have a Home page at '/'" do
visit '/'
page.should have_selector('title', :content => "Home page")
end
I get the error:
No response yet. Request a page first.
What’s the best way (if any?) to get webrat and capybara to like eachother?
There’s generally no reason to use both Webrat and Capybara. Pick one (probably Capybara). View tests are a bad idea and shouldn’t be necessary in general; usually your integration tests should cover that ground.
In other words, fix your testing strategy and the problem will go away.