2017-02-08 2 views
0

Ich aktualisiere einen Rails-Stack von 4.2.x auf 5.0.1. Dieser Stapel enthält keine datenbankgestützten Modelle. Verwenden von rspec als Testframework. Die Tests werden in der 4.2.x-Umgebung ausgeführt, nicht jedoch in der 5.0.1-Verzweigung.rspec versucht, Fixtures zu laden, wenn ActiveRecord nicht verwendet wird?

  1. active_model/railtie nicht geladen
  2. config.active_record.dump_schema_after_migration Kommentar gesetzt ist
  3. Active :: Migration.maintain_test_schema! Kommentar gesetzt ist
  4. config.use_transactional_fixtures und config.fixture_path sind
  5. factory_girl und anderen Geräten/Fabrik-Tools sind nicht vorhanden

Trotz all der oben genannten Kommentar gesetzt wird rspec versucht Vorrichtungen zu laden und schließlich erhöhen eine Ausnahme (Stack-Trace unten), da ActiveRecord über keinen Verbindungspool verfügt. Irgendwelche Vorschläge von Dingen zu überprüfen, um dies zu korrigieren?

Gemfile:

gem 'rack-cors' 
gem 'oauth2' 

gem 'activemodel-serializers-xml' 
gem 'draper', '~> 3.0.0.pre1' 
gem 'aws-sdk', '~> 1.61.0' 
gem 'newrelic_rpm' 
gem 'skylight', '= 1.0.0' 
gem 'actionpack-page_caching', '~> 1.1.0' 
gem 'redis' 
gem 'sneakers' 

group :development do 
    gem 'better_errors' 
    gem 'binding_of_caller' 
    gem 'meta_request' 
    gem 'brakeman' 
    gem 'redis-rails-instrumentation' 
end 

group :development, :test do 
    gem 'dotenv-rails' 
    gem 'rspec-rails' 
    gem 'listen' 
end 

group :test do 
    gem 'selenium-webdriver' 
    gem 'capybara' 
    gem 'faker' 
    gem 'launchy' 
    gem 'codeclimate-test-reporter', require: nil 
    gem 'mock_redis' 
    gem 'simplecov' 
end 

Backtrace:

ActiveRecord::ConnectionNotEstablished: 
     No connection pool with id primary found. 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activerecord-5.0.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:882:in `retrieve_connection' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activerecord-5.0.1/lib/active_record/connection_handling.rb:128:in `retrieve_connection' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activerecord-5.0.1/lib/active_record/connection_handling.rb:91:in `connection' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activerecord-5.0.1/lib/active_record/fixtures.rb:516:in `create_fixtures' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activerecord-5.0.1/lib/active_record/fixtures.rb:1015:in `load_fixtures' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activerecord-5.0.1/lib/active_record/fixtures.rb:988:in `setup_fixtures' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activerecord-5.0.1/lib/active_record/fixtures.rb:852:in `before_setup' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-rails-3.5.2/lib/rspec/rails/adapters.rb:126:in `block (2 levels) in <module:MinitestLifecycleAdapter>' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:443:in `instance_exec' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:443:in `instance_exec' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/hooks.rb:375:in `execute_with' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/hooks.rb:606:in `block (2 levels) in run_around_example_hooks_for' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:338:in `call' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:338:in `call' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/hooks.rb:607:in `run_around_example_hooks_for' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/hooks.rb:464:in `run' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:453:in `with_around_example_hooks' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:496:in `with_around_and_singleton_context_hooks' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/example.rb:251:in `run' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:627:in `block in run_examples' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:623:in `map' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:623:in `run_examples' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:589:in `run' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:590:in `block in run' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:590:in `map' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/example_group.rb:590:in `run' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:113:in `block (3 levels) in run_specs' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:113:in `map' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:113:in `block (2 levels) in run_specs' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/configuration.rb:1835:in `with_suite_hooks' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:112:in `block in run_specs' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/reporter.rb:77:in `report' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:111:in `run_specs' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:87:in `run' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:71:in `run' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/lib/rspec/core/runner.rb:45:in `invoke' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/rspec-core-3.5.4/exe/rspec:4:in `<top (required)>' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/bin/rspec:23:in `load' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/bin/rspec:23:in `<top (required)>' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.14.3/lib/bundler/cli/exec.rb:74:in `load' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.14.3/lib/bundler/cli/exec.rb:74:in `kernel_load' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.14.3/lib/bundler/cli/exec.rb:27:in `run' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.14.3/lib/bundler/cli.rb:335:in `exec' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.14.3/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.14.3/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.14.3/lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.14.3/lib/bundler/cli.rb:20:in `dispatch' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.14.3/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.14.3/lib/bundler/cli.rb:11:in `start' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.14.3/exe/bundle:32:in `block in <top (required)>' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.14.3/lib/bundler/friendly_errors.rb:121:in `with_friendly_errors' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/bundler-1.14.3/exe/bundle:24:in `<top (required)>' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/bin/bundle:23:in `load' 
     # /Users/arvanasse/.rbenv/versions/2.2.3/bin/bundle:23:in `<main>' 
+0

Was ist der Standardwert für 'config.use_transactional_fixtures'? Möglicherweise müssen Sie es explizit auf "false" setzen. –

+0

@GregTarsa Ich glaube, der Standardwert ist falsch (der Kommentar von rspec zu der Einstellung: "Wenn Sie ActiveRecord nicht verwenden oder wenn Sie nicht jedes Ihrer Beispiele innerhalb einer Transaktion ausführen möchten, entfernen Sie die folgende Zeile oder weisen Sie false zu") . Ich habe versucht, es explizit auf falsch zu setzen, ohne die Ergebnisse zu ändern. – AndyV

+0

Es sieht so aus, als ob Sie irgendwo eine Datenbankanforderung haben. Wenn dies auf Rails 4 funktioniert, bin ich nicht sicher, was ich empfehlen soll. Vielleicht solltest du [diesen SO-Artikel] (http://stackoverflow.com/questions/821251/how-to-configure-ruby-on-rails-with-no-database) überprüfen, um sicherzustellen, dass du keine DB konfiguriert hast. –

Antwort

0

Für die Zukunft: Ich hatte hinzugefügt 'activemodel-Serializer-xml' einige Funktionen wiederherzustellen, die durch in Rails 5,01 aber erforderlich extrahiert wurde die neueste Produktionsversion von Draper. Dieser Edelstein hat eine Abhängigkeit von ActiveRecord (ähm, vielleicht sollte es ActiveModel sein, wie der Name schon sagt ?!). Durch die Aktualisierung auf den Draper 3.0.0.pre1 konnte ich 'activemodel-serializers-xml' löschen und die Spezifikationen sind alle grün. :)

Verwandte Themen