1
私はRails 5とminutestを使っていて、コントローラのテストを書こうとしています。テストはテストフレームワークがルートファイルで定義されたURLを見つけられないのはなぜですか?
# issues_controller_test.rb
class IssuesControllerTest < ActionDispatch::IntegrationTest
include Devise::Test::IntegrationHelpers
test "logged in should get issues page" do
sign_in users(:one)
test_stop_id = 1
test_line_id = 1
get new_issue, :stop_id => test_stop_id, :line_id => test_line_id
assert_equal test_stop_id, @issue.stop_id
assert_equal test_line_id, @issue.line_id
assert_response :success
end
end
問題の方法は、私のレールのルートで定義され、このページにアクセスしようとしている私は、テストを実行すると...
new_issue GET /issues/new(.:format) issues#new
はまだ、私はこのエラー
# Running:
.E
Error:
IssuesControllerTest#test_logged_in_should_get_issues_page:
NameError: undefined local variable or method `new_issue' for #<IssuesControllerTest:0x007f816759b330>
test/controllers/issues_controller_test.rb:10:in `block in <class:IssuesControllerTest>'
bin/rails test test/controllers/issues_controller_test.rb:6
Finished in 0.103956s, 19.2389 runs/s, 9.6195 assertions/s.
を取得します
なぜテストフレームワークは自分のルートファイルで定義されたメソッドを見つけることができませんか?道はどこにも定義されていないだけのローカル変数である