The*_*mer 3 rspec ruby-on-rails parallel-testing
当我尝试使用并行测试 Gem 并行运行我的规范时,我收到以下错误消息:
\n\nfoo:~/Projects/cucumber-capybara-saucelabs/spec/requests [] \xe2\x9e\x9c rake parallel:spec\n(in /Volumes/Storage/Projects/cucumber-capybara-saucelabs)\n8 processes for 5 specs, ~ 0 specs per process\nStarting Rails server on port 3001...\nStarting Rails server on port 3001...\nStarting Rails server on port 3001...\nStarting Rails server on port 3001...\nStarting Rails server on port 3001...\n[2013-05-22 14:40:12] INFO WEBrick 1.3.1\n[2013-05-22 14:40:12] INFO ruby 1.9.3 (2013-02-22) [x86_64-darwin12.3.0]\n[2013-05-22 14:40:12] INFO WEBrick::HTTPServer#start: pid=33256 port=3001\nRails server running!\nRails server running!\nRails server running!\nRails server running!\n[2013-05-22 14:40:12] INFO WEBrick 1.3.1\n[2013-05-22 14:40:12] INFO WEBrick 1.3.1\n[2013-05-22 14:40:12] INFO ruby 1.9.3 (2013-02-22) [x86_64-darwin12.3.0]\n[2013-05-22 14:40:12] INFO WEBrick 1.3.1\n[2013-05-22 14:40:12] INFO ruby 1.9.3 (2013-02-22) [x86_64-darwin12.3.0]\n[2013-05-22 14:40:12] INFO ruby 1.9.3 (2013-02-22) [x86_64-darwin12.3.0]\n[2013-05-22 14:40:12] WARN TCPServer Error: Address already in use - bind(2)\n[2013-05-22 14:40:12] WARN TCPServer Error: Address already in use - bind(2)\n[2013-05-22 14:40:12] WARN TCPServer Error: Address already in use - bind(2)\n/Users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:85:in `initialize': Address already in use - bind(2) (/Users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:85:in `initialize': Address already in use - bind(2) (Errno::EADDRINUSE)\n from /Users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:85:in `new'\n from /Users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:85:in `block in create_listeners'\n from /Users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:82:in `each'\n from /Users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:82:in `create_listeners'\n from /Users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/server.rb:82:in `listen'\n from /Users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/server.rb:70:in `initialize'\n from /Users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/httpserver.rb:45:in `initialize'\n from /Users/foo/.rvm/gems/ruby-1.9.3-p392@rails-3/gems/rack-1.4.5/lib/rack/handler/webrick.rb:10:in `new'\n from /Users/foo/.rvm/Users/foo/.rvm/gems/ruby-1.9.3-p392@rails-3/gems/rack-1.4.5/lib/rack/server.rb:323:in `delete': No such file or directory - /Volumes/Storage/Projects/cucumber-capybara-saucelabs/tmp/pids/server.pid (Errno::ENOENT)\n from /Users/foo/.rvm/gems/ruby-1.9.3-p392@rails-3/gems/rack-1.4.5/lib/rack/server.rb:323:in `block in write_pid'\n/Users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:85:in `initialize': Address already in use - bind(2) (Errno::EADDRINUSE)\n from /Users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:85:in `new'\n from /Users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:85:in `block in create_listeners'\n from /Users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:82:in `each'\n from /Users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/utils.rb:82:in `create_listeners'\n from /Users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/server.rb:82:in `listen'\n from /Users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/server.rb:70:in `initialize'\n from /Users/foo/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/webrick/httpserver.rb:45:in `initialize'\n from /Users/foo[2013-05-22 14:40:12] INFO WEBrick 1.3.1\nsa/.rvm/gems/ruby-1.9.3-p392@rails-3/gems/rack-1.4.5/lib/rack/handler/webrick.rb:10:in `new'\n from /Users/foo/.rvm/gems/ruby-1.9.3-p392@rails-3/gems/rack-1.4.5/lib/rack/handler/webrick.rb:10:in `run'\n from /Users/foo/.rvm/gems/ruby-1.9.3-p392@rails-3/gems/rack-1.4.5/lib/rack/server.rb:268:in `start'\n from /Users/foo/.rvm/gems/ruby-1.9.3-p392@rails-3/gems/railties-3.2.13/lib/rails/commands/server.rb:70:in `start'\n from /Users/foo/.rvm/gems/ruby-1.9.3-p392@rails-3/gems/railties-3.2.13/lib/rails/commands.rb:55:in `block in <top (required)>'\n from /Users/foo/.rvm/gems/ruby-1.9.3-p392@rails-3/gems/railties-3.2.13/lib/rails/commands.rb:50:in `tap'\n from /Users/foo/.rvm/gems/ruby-1.9.3-p392@rails-3/gems/railties-3.2.13/lib/rails/commands.rb:50:in `<top (required)>'\n from script/rails:6:in `require'\n from script/rails:6:in `<main>'\nRun Code Online (Sandbox Code Playgroud)\n\n有办法避免这种情况吗?
\n正如wiki中所解释的,您需要执行以下操作:
Capybara.server_port = 9887 + ENV['TEST_ENV_NUMBER'].to_i
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1863 次 |
| 最近记录: |