2016-05-02 13 views
0

Also ich bin ziemlich neu zu rspec, ich habe Cucumber in der Vergangenheit mit Capybara, aber ich versuche, mehr in Richtung ACTUAL rspec mit Capybara im Gegensatz zu Gurke (Ich habe keine müssen für die BDD gherkin Sprache in Gurke)Rspec load error mit Capybara (Undefinierte Methode)

Meine Ordnerstruktur ist jetzt spec/test_helper und spec/features/google_test.rb (nur ein Beispiel für jetzt) ​​

My gemfile has included: 
    gem 'capybara' 
    gem 'poltergeist' 
    gem 'selenium-webdriver' 
    gem 'rpsec' 

meine test_helper.rb Datei (Im Projekt-/Spezifikationsordner)

#test_helper.rb 

#Load up Capybara 
require 'rspec' 
require 'capybara/rspec' 

require 'capybara' 
require 'capybara/dsl' 

#Load up Poltergeist 
require 'capybara/poltergeist' 

#Set JS Supported Driver 
Capybara.javascript_driver = :poltergeist 

meine google_test.rb (In spec/Features)

require 'test_helper' 

Capybara.current_driver = :selenium 
Capybara.run_server = false 
Capybara.app_host = 'www.google.com' 

describe "Visit Google Home Page", :type => feature do 
    it 'Google' do 
    visit ('/') 
    end 
end 

rspec spec/features/google_test.rb Laufen bekomme ich:

Failures:

1) Visit Google Home Page Google Failure/Error: visit ('/') NoMethodError: undefined method visit' for #<RSpec::ExampleGroups::VisitGoogleHomePage:0x007f8ef546ad30> # ./spec/features/google_test.rb:9:in block (2 levels) in '

Finished in 0.00044 seconds (files took 0.47304 seconds to load) 1 example, 1 failure

Failed examples:

rspec ./spec/features/google_test.rb:8 # Visit Google Home Page Google

Irgendwelche Ideen?

Antwort

1

Wenn Sie capybara/rspec benötigen, wird RSpec so konfiguriert, dass der Capybara DSL in Tests vom Typ: feature eingeschlossen wird. Es gibt ein paar Möglichkeiten, die Art auf einem RSpec Test

describe "xyz", :type => :feature do # note :feature is a symbol 
    # test goes here 
end 

feature "xyz" do # alias that automatically sets the type 
    # tests go here 
end 

oder durch die Konfiguration RSpec, um den Typ zu setzen, basierend auf Verzeichnisnamen - https://www.relishapp.com/rspec/rspec-rails/docs/directory-structure

RSpec.configure do |config| 
    config.infer_spec_type_from_file_location! 
end 

Sichern Sie sich eine der verwendet haben Diese Methoden und visit sollten dann verfügbar sein

+0

Ich habe die: type => Funktion in meinem Test oben? oder ist es falsch – msmith1114

+0

@ msmith1114 Beachten Sie meinen Kommentar - es sollte sein: type =>: feature - sonst seine Einstellung der Wert: Geben Sie das Ergebnis einer Methode Aufruf von 'Feature' –

+0

Nun, ich habe etwas anderes mindestens: Failures: 1) Besuchen Sie Google Startseite Google Ausfall/Fehler: Besuch ('/') URI :: BadURIError: beide URI sind relativ # ./spec/features/google_test.rb:9:in 'Block (2 Ebenen) in ‘ Beendet in 0,0823 Sekunden (Dateien 0,45145 Sekunden nahm zu laden) 1 Beispiel 1 Ausfall fehlgeschlagen Beispiele: rspec ./spec/features/google_test.rb:8 # Besuchen Sie die Google-Startseite Google – msmith1114

Verwandte Themen