[rspec-users] Rspec 2, Rails 3 and Webrat

David Chelimsky dchelimsky at gmail.com
Thu Jun 24 22:08:10 EDT 2010


On Jun 22, 2010, at 11:10 AM, Miriam wrote:

> I'm having the same problem the OP mentions -- undefined method
> "visit"
> 
> Trying to upgrade from Rails 2.3 to Rails 3.0.beta4
> 
> My test stack:
> webrat (0.7.1)
> cucumber (0.8.3)
> pickle (0.2.1)
> factory_girl (1.3.0)
> factory_girl_rails (1.0)
> 
> I changed config.mode = :rack, as suggested, but I"m still getting the
> error.
> 
> This is what I have in features/support/env.rb:
> 
> require 'webrat'
> require 'webrat/core/matchers'
> 
> Webrat.configure do |config|
>  config.mode = :rack
>  config.open_error_files = false # Set to true if you want error
> pages to pop up in the browser
> end
> 
> This is the error I'm getting:
> 
>    Given I am logged in as a
> buyer                                                      # features/
> step_definitions/user_steps.rb:15
>      undefined method `visit' for #<Cucumber::Rails::World:0xd2f8a2>
> (NoMethodError)
>      ./features/step_definitions/user_steps.rb:6:in `log_out'
>      ./features/step_definitions/user_steps.rb:37:in `do_login'
>      ./features/step_definitions/user_steps.rb:17:in `/^I\ am\ logged
> \ in\ as\ a\ (.*)$/'
>      features/buyer_account.feature:7:in `Given I am logged in as a
> buyer'

Up until now, this thread has been about an issue with RSpec. You are having an issue with Cucumber. I'd recommend posting it to the Cucumber google group:

http://groups.google.com/group/cukes

I'm sure someone there can advise.

Cheers,
David

> 
> 
> On Jun 13, 11:08 pm, David Chelimsky <dchelim... at gmail.com> wrote:
>> On Jun 11, 2010, at 10:17 PM, Rodrigo Rosenfeld Rosas wrote:
>> 
>>> Apparently Webrat is not yet compatible with Rails 3:
>> 
>> This is incorrect. It's just that webrat needs to be configured for :rack instead of :rails:
>> 
>>       Webrat.configure do |config|
>>         config.mode = :rack
>>       end
>> 
>> Since you're porting an app, there is probably some code somewhere that says this instead
>> 
>>       # DO NOT DO THIS WITH RAILS 3
>>       Webrat.configure do |config|
>>         config.mode = :rails
>>       end
>> 
>> Get rid of that and you should be fine.
>> 
>> 
>> 
>> 
>> 
>>> http://github.com/brynary/webrat/blob/master/lib/webrat/integrations/...
>> 
>>> line 2: require "action_controller/integration"
>> 
>>> action_controller/integration.rb does exist in Rails 2 but not in Rails 3, but I didn't find any branch for Rails 3 in webrat's repository.
>> 
>>> I'll give Capybara another try. I had already tried it before but didn't change to it because I couldn't get the Drag & Drop javascript test to work anyway, but it seems to be a good replacement to Webrat's and there seems to be plans to merge them...
>> 
>>> Does anyone here use Capybara with Rspec2 and Rails 3 without Cucumber to write integration tests successfully?
>> 
>>> Thanks,
>> 
>>> Rodrigo.
>> 
>>> Em 11-06-2010 14:44, David Chelimsky escreveu:
>> 
>>>> Sent from my iPhone
>> 
>>>> On Jun 11, 2010, at 1:30 PM, Rodrigo Rosenfeld Rosas <lboc... at yahoo.com.br> wrote:
>> 
>>>>> Now I'm getting:
>> 
>>>>> no such file to load -- action_controller/integration
>> 
>>>> Backtrace, please
>> 
>>>>> Am I missing something?
>> 
>>>>> Thanks,
>> 
>>>>> Rodrigo.
>> 
>>>>> P.S.: Sorry if this was sent twice...
>> 
>>>>> Em 11-06-2010 01:10, David Chelimsky escreveu:
>>>>>> Change the directory name to requests  (a la merb)
>> 
>>>>>> Sent from my iPhone
>> 
>>>>>> On Jun 10, 2010, at 10:35 PM, Rodrigo Rosenfeld Rosas
>>>>>> <lboc... at yahoo.com.br> wrote:
>> 
>>>>>>> Hi guys,
>> 
>>>>>>> I'm trying to port an application to Rails 3 but can't get my
>>>>>>> integration tests to run.
>> 
>>>>>>> I can't call the Webrat's method (yields 'undefined method `visit`',
>>>>>>> for instance). I don't use Cucumber.
>> 
>>>>>>> Is there any instructions about how to configure Rspec 2 with Webrat
>>>>>>> on Rails 3?
>> 
>>>>>>> I also have a custom helper that is not working:
>> 
>>>>>>> "config.include MyApp::IntegrationHelper, :type => :integration" (the
>>>>>>> methods defined in this module are not available in the specs)
>> 
>>>>>>> Any ideas?
>> 
>>>>>>> Thanks,
>> 
>>>>>>> Rodrigo.
>> 
>>> __________________________________________________
>>> Faça ligações para outros computadores com o novo Yahoo! Messengerhttp://br.beta.messenger.yahoo.com/
>>> _______________________________________________
>>> 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