다른 질문을 여기에서 읽었지만 아무도 내 문제를 해결할 수 없습니다. 모두 매개 변수와 관련이 있습니다. 누군가가 나를 도울 수 있기를 바랍니다.Rails4 - 테스트 - URLGenerationError : 일치하는 경로 없음
ActionController::UrlGenerationError: No route matches
{:action=>"/login", :controller=>"sessions"}
test/controllers/sessions_controller_test.rb:6:in `block in
<class:SessionsControllerTest>'
가 rake routes
은 다음과 같습니다 내 :
test "should get new" do
puts 'debug: ' + login_path
get login_path
assert_response :success
end
(가) 디버깅을두고 :
Prefix Verb URI Pattern Controller#Action
login GET /login(.:format) sessions#new
POST /login(.:format) sessions#create
logout DELETE /logout(.:format) sessions#destroy
내 시험 자체가이 하나되어
내 컨트롤러의 테스트를 실행 나는이 메시지 라인 프린트 : debug: /login
localhost:3000/login
에 갈 때 1,363,210
는 제대로 페이지를로드 및 디버그 정보는 사용하는 것을 SAIS :
controller: sessions
action: new
테스트가 제대로 대신 new
조치로 리디렉션 및되지 않는 이유는 어떤 생각을 찾고 존재하지 않는 행동을 위해 /login
? 감사!
편집 :
http://blog.bigbinary.com/2016/04/19/changes-to-test-controllers-in-rails-5.html
(내가 사용) Rails4에 컨트롤러 테스트 ActionController::TestCase
get :new
해야을 사용하여 솔루션 나는 모든 문제에 대해 설명이 링크를 발견 아래 답변에 따라
get login_url
대신 사용하십시오 (통합 테스트에서는 정상입니다).
왜'get : new' 대신'get login_path'를 사용하고 있습니까? – ArtOfCode
https://www.railstutorial.org/book/basic_login 그냥 코드를 시도하고 일했습니다. 감사! –
튜토리얼 스타일이 작동해야하는지 궁금합니다. –