2014-06-12 3 views
40

Nicht sicher, ob dies ein Capybara-Problem ist, aber ich habe gerade eine Neuinstallation von Rails (4.1.1) und Rspec Rails (3.0.1) durchgeführt und möchte sie verwenden Capybara (2.3.0), aber ich habe es nie benutzt Ich stoße auf Probleme. Ich habe eine "spec" in spec/features erstellt und die Spezifikation selbst läuft und passiert wie erwartet, aber ich bekomme die folgenden "Warnungen", wenn rspec ausgeführt wird. Irgendwelche Ideen? Muss ich nur Warnungen auf der Ruby-Ebene oder etwas deaktivieren?Rspec/Capybara loading in progress, zirkuläre Anforderung als schädlich

/Users/typeoneerror/.rvm/gems/[email protected]/gems/mail-2.5.4/lib/mail/network/delivery_methods/sendmail.rb:53: warning: shadowing outer local variable - to 
/Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247: warning: loading in progress, circular require considered harmful - /Users/typeoneerror/.rvm/gems/[email protected]/gems/capybara-2.3.0/lib/capybara.rb 
    from /Users/typeoneerror/.rvm/gems/[email protected]/bin/ruby_executable_hooks:15:in `<main>' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/bin/ruby_executable_hooks:15:in `eval' 
    from /Users/typeoneerror/.rvm/gems/ruby-2[email protected]/bin/rspec:23:in `<main>' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/bin/rspec:23:in `load' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/rspec-core-3.0.0/exe/rspec:4:in `<top (required)>' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/rspec-core-3.0.0/lib/rspec/core/runner.rb:38:in `invoke' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/rspec-core-3.0.0/lib/rspec/core/runner.rb:70:in `run' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/rspec-core-3.0.0/lib/rspec/core/runner.rb:85:in `run' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/rspec-core-3.0.0/lib/rspec/core/runner.rb:97:in `setup' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/rspec-core-3.0.0/lib/rspec/core/configuration.rb:1051:in `load_spec_files' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/rspec-core-3.0.0/lib/rspec/core/configuration.rb:1051:in `each' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/rspec-core-3.0.0/lib/rspec/core/configuration.rb:1051:in `block in load_spec_files' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/rspec-core-3.0.0/lib/rspec/core/configuration.rb:1051:in `load' 
    from /Users/typeoneerror/Dev/Doki/engines/doki_core/spec/features/accounts/sign_up_spec.rb:1:in `<top (required)>' 
    from /Users/typeoneerror/Dev/Doki/engines/doki_core/spec/features/accounts/sign_up_spec.rb:1:in `require' 
    from /Users/typeoneerror/Dev/Doki/engines/doki_core/spec/rails_helper.rb:7:in `<top (required)>' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:232:in `load_dependency' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `block in require' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/rspec-rails-3.0.1/lib/rspec/rails.rb:9:in `<top (required)>' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:232:in `load_dependency' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `block in require' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/rspec-rails-3.0.1/lib/rspec/rails/vendor/capybara.rb:2:in `<top (required)>' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:232:in `load_dependency' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `block in require' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/capybara-2.3.0/lib/capybara/rspec.rb:1:in `<top (required)>' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:232:in `load_dependency' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `block in require' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/capybara-2.3.0/lib/capybara.rb:5:in `<top (required)>' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/capybara-2.3.0/lib/capybara.rb:320:in `<module:Capybara>' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:232:in `load_dependency' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `block in require' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/capybara-2.3.0/lib/capybara/dsl.rb:1:in `<top (required)>' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:232:in `load_dependency' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `block in require' 
    from /Users/typeoneerror/.rvm/gems/[email protected]/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require' 
/Users/typeoneerror/.rvm/gems/[email protected]/gems/capybara-2.3.0/lib/capybara/node/matchers.rb:121: warning: assigned but unused variable - e 
/Users/typeoneerror/.rvm/gems/[email protected]/gems/capybara-2.3.0/lib/capybara/selenium/driver.rb:119: warning: assigned but unused variable - a 
+1

hatte ich das gleiche Problem, wenn ich auf RSpec aktualisiert 3 - und Myron Antwort richtig ist, die Warnungen deaktivieren. – Anthony

+0

Dies geschieht auch mit dem Sass Juwel (es wird die Cirular erfordern Warnung) von einem Lager "Schienen neu" (mindestens für 4.1.1 und 4.1.2), wenn Sie rspec-Schienen hinzufügen und die Schienen Generatoren laufen zu installieren rspec und Erstellen Sie eine Feature-Spezifikation. Das Update ist das gleiche wie beschrieben, entfernen Sie - Warnungen aus Ihrer generierten .rspec-Datei. – RatDaddy

Antwort

94

--warnings von .rspec entfernen. Der Generator in rspec 3.0.0 enthielt diese Einstellung, aber wir haben festgestellt, dass es ein Fehler war - obwohl es gut ist, Benutzer dazu zu ermutigen, warnfreien Code zu schreiben, ist es für Benutzer verwirrend, diese Warnungen zu erhalten, ohne sicher zu sein, warum.

Für weitere Informationen:

https://github.com/rspec/rspec-core/issues/1571

+0

hat den Trick gemacht, danke, Myron. – typeoneerror

+5

das Entfernen von "--warnings" von .rspec wird das Problem beheben, aber viele der Warnungen selbst scheinen durch die Zeile "--require spec_helper" in .rspec verursacht zu werden, zumindest wenn Sie rspec unter Rails ausführen, weil Die von "rails generate rspec: install" generierten rails_helper.rb erfordern explizit auch spec_helper, was zu unzähligen zirkulären Abhängigkeitswarnungen führt. –

+0

@ Jeremy - Ruby ermöglicht es Ihnen, die gleiche Datei mehrmals zu benötigen, ohne Warnungen zu geben. Was Sie beschreiben, ist unerwartet. Kannst du ein rspec-rails-Problem dafür öffnen? –