[rspec-users] Trouble making rspec-rails 2 work with webrat.
David Chelimsky
dchelimsky at gmail.com
Tue Nov 30 09:34:51 EST 2010
On Nov 29, 2010, at 8:05 PM, Jim Morris wrote:
> Hi David,
>
> I am using the current versions of everything rspec
> rspec (2.2.0,)
> rspec-core (2.2.1)
> rspec-expectations (2.2.0)
> rspec-mocks (2.2.0,)
> rspec-rails (2.2.0)
> webrat (0.7.2)
> rails(3.0.3)
>
> webrat is in Gemfile...
>
> group :test, :development do
> gem 'webrat'
> gem 'rspec-rails'
> end
>
> My spec is meant to be an integration test and as such is in spec/
> requests
>
> I have a pretty simple setup, the full source is here...
>
> https://github.com/wolfmanjm/wolfmanblog_rails
>
>
> Thanks for the help, its odd so many people are having issues with
> webrat, should I cross post to their group or is this an rspec/webrat/
> rails3 issue?
I'm not sure where the issue is yet (most likely rspec), but I was able to see it by cloning your repo and running the specs.
I was able to get things to work by moving "include Rack::Test::Methods" into the configure block:
RSpec.configure do |config|
config.include Rack::Test::Methods
...
end
You should _not_, however, have to do any such thing, so I'll look into it and if I can address this in rspec-rails I will and have a bug-fix release out soon.
Thanks!
David
>
> On Nov 29, 2:45 pm, David Chelimsky <dchelim... at gmail.com> wrote:
>> On Nov 29, 2010, at 4:44 PM, David Chelimsky wrote:
>>
>>
>>
>>
>>
>>> On Nov 29, 2010, at 3:28 PM, Jim Morris wrote:
>>
>>>> Sorry I may have been unclear....
>>
>>>> When using the default spec_helper as generated from a fresh
>>>> script/rails generate rspec:install
>>>> I get the error...
>>
>>>> undefined method `last_response' for
>>>> #<RSpec::Core::ExampleGroup::Nested_2:0x9da18cc>
>>
>>>> This means something is not seeing the Rack Test stuff.
>>
>>>> The second error is got when I add
>>
>>>> include Rack::Test::Methods
>>
>>>> It now sees last_response but doesn't get a respnose from visit (That
>>>> may be a different errror).
>>
>>>> So bottom line is using the latest rails/rspec/webrat does not work
>>>> out of the box.
>>
>>> It does for me, so something is different between our configurations.
>>
>>> Do you have webrat in the Gemfile?
>>> Is this a controller spec? If so is it in the spec/controllers directory?
>>
>> Also, what version of rspec-rails are we talking about?
>>
>>
>>
>>
>>
>>>> On Nov 29, 7:18 am, David Chelimsky <dchelim... at gmail.com> wrote:
>>>>> On Nov 29, 2010, at 4:58 AM, Jim Morris wrote:
>>
>>>>>> Ok adding
>>
>>>>>> include Rack::Test::Methods
>>
>>>>>> to my spec_helper changed the error to
>>
>>>>>> Failure/Error: visit "/"
>>>>>> No response yet. Request a page first.
>>>>>> # /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/rack-
>>>>>> test-0.5.6/lib/rack/mock_session.rb:51:in `last_response'
>>>>>> # /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/
>>>>>> webrat-0.7.2/lib/webrat/adapters/rack.rb:26:in `response'
>>>>>> # /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/
>>>>>> webrat-0.7.2/lib/webrat/adapters/rack.rb:14:in `response_body'
>>>>>> # /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/
>>>>>> webrat-0.7.2/lib/webrat/core/session.rb:176:in `exception_caught?'
>>>>>> # /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/
>>>>>> webrat-0.7.2/lib/webrat/core/session.rb:121:in `request_page'
>>>>>> # /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/
>>>>>> webrat-0.7.2/lib/webrat/core/session.rb:217:in `visit'
>>>>>> # /opt/ruby-enterprise-1.8.7-2010.02/lib/ruby/gems/1.8/gems/
>>>>>> webrat-0.7.2/lib/webrat/core/methods.rb:7:in `visit'
>>>>>> # ./spec/requests/basics_spec.rb:5
>>
>>>>>> So someone is not including the rack test stuff, however still don;t
>>>>>> know why it is failing
>>
>>>>> I'd get rid of all of that stuff from spec_helper. It was guidance from a cucumber-rails issue, not an rspec issue, and is unnecessary with rspec. I'd just re-generate it with "script/rails generate rspec:install"
>>
>>>>> HTH,
>>>>> David
>>
>>>>>> On Nov 15, 3:36 pm, David Chelimsky <dchelim... at gmail.com> wrote:
>>>>>>> On Nov 15, 2010, at 4:51 PM, Peter Havens wrote:
>>
>>>>>>>> I'm having problems getting rspec-rails 2 request specs to work with
>>>>>>>> webrat. Any help would be appreciated. Here's my setup:
>>
>>>>>>>> ruby 1.9.2p0
>>>>>>>> rails 3.0.1
>>>>>>>> rspec-rails 2.1.0
>>>>>>>> webrat0.7.2
>>
>>>>>>>> Here's the error I'm getting:
>>
>>>>>>>> $ rspec --backtrace spec/requests/ssl_certificate_requests_spec.rb
>>>>>>>> F
>>
>>>>>>>> Failures:
>>>>>>>> 1) <text>
>>>>>>>> Failure/Error: Unable to find matching line from backtrace
>>>>>>>> stack level too deep
>>>>>>>> # /opt/local/lib/ruby1.9/1.9.1/forwardable.rb:185
>>
>>>>>>>> Finished in 0.49825 seconds
>>>>>>>> 1 example, 1 failure
>>
>>>>>>>> Here are snippets of my files:
>>
>>>>>>>> # spec/spec_helper.rb
>>>>>>>> #
>>>>>>>> # The following is based on some tips from a cucumber-rails ticket:
>>>>>>>> require "webrat"
>>>>>>>> require "webrat/core/matchers"
>>
>>>>>>>> include Rack::Test::Methods
>>>>>>>> includeWebrat::Methods
>>>>>>>> includeWebrat::Matchers
>>
>>>>>>>> Webrat.configure do |config|
>>>>>>>> config.mode = :rack
>>>>>>>> config.open_error_files = false
>>>>>>>> end
>>
>>>>>>>> # spec/requests/<file>_spec.rb
>>>>>>>> require "spec_helper"
>>
>>>>>>>> describe "<text>" do
>>>>>>>> it "<text>" do
>>>>>>>> visit <text>_path
>>
>>>>>>>> # The following works when uncommented:
>>>>>>>> #
>>>>>>>> # get <text>_path
>>>>>>>> # assert_template '<text>/<text>'
>>>>>>>> end
>>>>>>>> end
>>
>>>>>>> This is actually awebratissue, but it is reported to rspec-rails andwebrat:
>>
>>>>>>> https://github.com/rspec/rspec-rails/issues/140https://webrat.lightho...
>>
>>>>>>>> Thanks,
>>>>>>>> Pete
>>>>>>>> _______________________________________________
>>>>>>>> rspec-users mailing list
>>>>>>>> rspec-us... at rubyforge.org
>>>>>>>> http://rubyforge.org/mailman/listinfo/rspec-users
>>
>>>>>>> _______________________________________________
>>>>>>> rspec-users mailing list
>>>>>>> rspec-us... at rubyforge.orghttp://rubyforge.org/mailman/listinfo/rspec-users
>>>>>> _______________________________________________
>>>>>> rspec-users mailing list
>>>>>> rspec-us... at rubyforge.org
>>>>>> http://rubyforge.org/mailman/listinfo/rspec-users
>>
>>>>> _______________________________________________
>>>>> rspec-users mailing list
>>>>> rspec-us... at rubyforge.orghttp://rubyforge.org/mailman/listinfo/rspec-users
>>>> _______________________________________________
>>>> rspec-users mailing list
>>>> rspec-us... at rubyforge.org
>>>> http://rubyforge.org/mailman/listinfo/rspec-users
>>
>> _______________________________________________
>> rspec-users mailing list
>> rspec-us... at rubyforge.orghttp://rubyforge.org/mailman/listinfo/rspec-users
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
More information about the rspec-users
mailing list