2011-09-05 3 views
0

ActionController :: TestCase.get() 메서드가 routes.rb에있는 내용을 무시한다는 것을 나타내는 문제가 있습니다.ActionController의 메소드 가져 오기 :: TestCase가 routes.rb를 무시합니까?

레일 버전은 3.0.10입니다.

나는 내 XmlRpcController # 인덱스 행동의 다음 RSpec2 시험이 있습니다

it "should get nothing in response to GET request" do 
    get :index 
    response.response_code.should == 400 #bad_request 
end 

그리고 routes.rb에서이 경로에 관련된 유일한 라인은 다음과 같습니다

post 'rpc', :to => "xml_rpc#index" 

'레이크 노선'도 정의 된 경로 만 표시합니다.

결과적으로이 테스트를 실행할 때 실제로 해당 액션이 실행됩니다! 나는 그 안에 간단한 풋를 넣어이 판단) 또한 로그가 포함되어 브라우저에서 :

처리 HTML로 XmlRpcController # 지수에 의해 또한 내가 '3000/RPC 로컬 호스트'에 가면

- 그것은 발견 된 경로가 없다고 말합니다. 그러나 테스트는 다른 행동을 가지고 있으며,이 퍼즐은 저를 자극합니다 ...

아무도 내 이유를 암시 할 수 있습니까? 나는 RoR에 대해서만 배우기 시작했습니다. 이전에 TestCase의 'get/post'메소드는 routes.rb를 존중합니다.

나는 분명한 뭔가를 놓치고 있습니까? :)

답변

0

'get : index'메소드가 실제로 routes.rb를 무시하는 것 같습니다. 루비 포럼에서 일부 사용자에게 감사를이 알아 낸

describe "GET 'contact'" do 
    it "should be successful" do 
     { :get => '/rpc' }.should_not be_routable 
    end 
    end 

:

나를 위해 진짜 해결책은 이 특정 목적을 위해 작성된 _ 라우팅 RSpec에 정규 할 수 사용하는 것이 었습니다. 더 많은 정보 here.

관련 문제