Я недавно обновил свое приложение rails с 6.0.0.beta3 до 6.0.0 и все мои тесты, использующие маршрут, либо _path
, либо _url
. Я получаю следующую ошибку:
HomeControllerTest#test_should_see_home_page:
NoMethodError: undefined method `empty?' for nil:NilClass
/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/routing/route_set.rb:781:in `optimize_routes_generation?'
/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/routing/url_for.rb:220:in `optimize_routes_generation?'
/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/routing/route_set.rb:228:in `optimize_routes_generation?'
/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/routing/route_set.rb:198:in `call'
/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/routing/route_set.rb:329:in `block in define_url_helper'
/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/testing/integration.rb:404:in `public_send'
/.rbenv/versions/2.6.0/lib/ruby/gems/2.6.0/gems/actionpack-6.0.0/lib/action_dispatch/testing/integration.rb:404:in `method_missing'
/code/events/test/controllers/home_controller_test.rb:6:in `block in <class:HomeControllerTest>'
Кто-нибудь видел это раньше? Может быть, я пропустил конфигурацию во время обновления? Мое приложение отлично работает в браузере, это похоже на тесты.
РЕДАКТИРОВАТЬ
Моя команда:
BACKTRACE=YES rails test test/controllers/home_controller_test.rb
И тест очень прост, который всегда терпит неудачу на линии маршрута:
require 'test_helper'
class HomeControllerTest < ActionDispatch::IntegrationTest
test "should see home page" do
get root_path
assert_response :success
end
end