2017-05-13 2 views
2

Ich habe nur Puma eingerichtet und es funktioniert gut als ein Entwicklungsserver.Rails-Tests verwenden Server im Entwicklungsmodus

Wenn ich einen Integrationstest starte, startet Puma im Entwicklungsmodus, nicht im Testmodus.

Gemfile

group :test do 
    gem puma 
end 

Test/test_helper.rb

class ActionDispatch::IntegrationTest 
    require 'rack/handler/puma' 
    Capybara.server = :puma 
    Capybara.register_server("puma") do |app, port| 
    server = Puma::Server.new(app) 
    server.add_tcp_listener(Capybara.server_host, port) 
    server.run 
    end 
end 

Ein Test:

✗ RAILS_ENV="test" ruby -I test test/integration/computers_test.rb -n /polt/ 
Started with run options -n /polt/ --seed 3050 
Puma starting in single mode... 
* Version 3.8.2 (ruby 2.3.1-p112), codename: Sassy Salamander 
* Min threads: 0, max threads: 4 
* Environment: development 
* Listening on tcp://127.0.0.1:49875 
Use Ctrl-C to stop 
... 

Antwort

0

Hat das gleiche Verhalten passieren, wenn Sie rake test laufen?

Ich würde sicher in Ihrer config/puma.rb Datei (erstellen Sie eine, wenn Sie keine haben) Sie haben eine Zeile wie environment ENV.fetch("RAILS_ENV") { "development" } - ohne es sah ich das gleiche Verhalten Sie waren.

+1

Dies funktioniert nicht für mich in Schienen 5.1 Systemtests. –

Verwandte Themen