2010-08-23 9 views
9

जब मैं अपने सुविधाओं को चलाने मैं इस त्रुटि मिलती है:ककड़ी step_definitions में अपरिभाषित webrat तरीकों

undefined method `visit' for #<Cucumber::Rails::World:0x81b17ac0> (NoMethodError) 

यह मेरा Gemfile के प्रासंगिक हिस्सा है।

group :development, :test do 
    gem "rspec-rails", ">= 2.0.0.beta.19" 
    gem "cucumber" 
    gem "cucumber-rails", ">= 0.3.2" 
    gem 'webrat', ">= 0.7.2.beta.1" 
end 

संबंधित step_definition

When /^I create a movie Caddyshack in the Comendy genre$/ do 
    visit movies_path 
    click_link "Add Movie" 
    fill_in "Title", :with => "Caddyshack" 
    check "Comedy" 
    click_button "Save" 
end 

env.rb मैं निम्नलिखित Webrat विन्यास है में (हालांकि मैं यह महत्वपूर्ण है नहीं लगता है):

# […] 
require 'webrat' 
require 'webrat/core/matchers' 

Webrat.configure do |config| 
    config.mode = :rails 
    config.open_error_files = false # Set to true if you want error pages to pop up in the browser 
end 
# […] 

कुछ भी मैं याद आ रही है यहाँ?

# […] 
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 
# […] 

अब अपेक्षा के अनुरूप काम करता है:

+0

वाह ... क्योंकि मुझे अभी इस के लिए एक लोकप्रिय प्रश्न बैज मिला है, ऐसा लगता है कि यह अभी तक पैच नहीं किया गया है। बाद में इसे जांच लेंगे ... –

उत्तर

16

मैं config.mode:rack बजाय :rails करने के लिए सेट किया था।

+5

यदि लोगों को यह नहीं पता है कि यह सुविधाओं/समर्थन/env.rb –

+2

में संपादित किया जाना है यह समाधान मेरे लिए काम करता है ... हालांकि, इसकी आवश्यकता क्यों है? मुझे लगता है कि रेल जनरेटर को सही चीज़ उत्पन्न करनी चाहिए, चाहे वह एक तरीका है: रेल (जो [webrat readme] (https://github.com/brynary/webrat#readme) सही कहता है, वैसे) या: रैक ... लेकिन ऐसा लगता है कि यह मामला नहीं है। क्या किसी को पता है क्यों? – lindes

+0

Thx आप बहुत अधिक, यह एक कष्टप्रद मुद्दा था। – Denis

1

पॉल Nelligan त्रुटि को ठीक करने env.rb को यह जोड़ने का प्रयास करें: "ऐसी कोई फाइल नहीं लोड करने के लिए - action_controller/एकीकरण"

World(Webrat::Methods) 
World(Webrat::Matchers) 
1

मैं भी दो अलग अलग अवसरों पर इस त्रुटि का सामना करना पड़ा: पहला उदाहरण confg.mode को समायोजन समस्या हल किया; दूसरी बार, हालांकि, बहुत निराशा के बाद मुझे एक लिंक मिला जो बंडलर का एक बग्गी संस्करण अपराधी हो सकता है। इसे अद्यतन करने से समस्या हल हो गई।

संबंधित मुद्दे