私はRails 5にアップグレードしました。スペックをパスするための最初のハードルは、 'No route matches'エラーです。Rails 5の "No route matches"機能テストエラーを解決する方法
以下のテストとtest_helperを参照してください。 test_helperまたはtest.rbに追加する必要があるものはありますか?誰でも原因や解決方法を知っていますか?
.....
単にパスを取得しようとしたとき、私は、単一のテストを実行してきた:私のusers_controller_test.rbにラインの新しいを取得する必要があります」です
bin/rails test test/controllers/users_controller_test.rb:31
require 'test_helper'
describe UsersController do
//class UsersControllerTest < ActionDispatch::IntegrationTest
before do
glenn = users(:glenn)
sign_in(glenn)
end
it 'should get new' do
get new_user_url
value(response).must_be :success?
end
end
この結果、次のエラーが発生します。
Error:
UsersController#test_0002_should get new:
ActionController::UrlGenerationError: No route matches {:action=>"http://test.host/users/new", :controller=>"users"}
test/controllers/users_controller_test.rb:32:in `block (2 levels) in <top (required)>'
test_helper.rb
ENV['RAILS_ENV'] = 'test'
require File.expand_path('../../config/environment', __FILE__)
require 'rails/test_help'
require 'minitest/rails'
class ActionController::TestCase
include ActiveJob::TestHelper
include Devise::Test::ControllerHelpers
end
class ActionDispatch::IntegrationTest
include Devise::Test::IntegrationHelpers
end
class ActiveSupport::TestCase
ActiveRecord::Migration.check_pending!
fixtures :all
include ActionDispatch::TestProcess # fixture_file_upload
end