0

After upgrading to the latest version of Capybara, all of my visit methods stopped working so I followed a solution presented by some people which was to rename the requests spec directory to "features". Now my visit methods are working again but any get or post method in a request spec causes this error:

undefined method `get' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1::Nested_1::Nested_1::Nested_1:0x007f9cce9adc20>

Here's the code that triggers the error:

describe "getting posts" do
    before { get(forum_posts_path) }
    it "should respond with a 200" do
        response.response_code.should == 200
    end
end

Any workaround for this?

sq1020
  • 1,000
  • 2
  • 9
  • 15

1 Answers1

4

You don't rename the spec/requests directory to spec/features: you have both:

  • Tests that use the Capybara DSL (visit etc) and usually assert against page go in spec/features.
  • Tests that use the rack-test DSL (get etc) and usually assert against response go in spec/requests

See this StackOverflow answer for details, specifically the external links there.

Community
  • 1
  • 1
Paul Fioravanti
  • 16,423
  • 7
  • 71
  • 122