2013-06-30 1 views
0

rspec-rails 2.13.1 및 Capybara 1.1.4를 사용하고 있습니다. 내가 get root_path 또는 get page_path("anything")하려고 할 때마다, 사양은 ActionController::RoutingError:No route matches [GET] "/"Capybara 경로 도우미가 ActionController :: RoutingError : [GET] "/"과 일치하는 경로가 없습니다.

내가 아무 문제 visit 'http://example.dev을 실행할 수 없습니다 던졌습니다,하지만 난 차라리 URL 헬퍼를 사용하십시오. 왜 이것이 작동하지 않을지 모르는 어떤 생각?

+0

루트와 같은 루트에 루트를 정의합니까? to => "home # index" – Henry

+0

예, 아래의 빌리 찬 (Billy Chan)의 대답이 나를 도왔습니다 – professormeowingtons

답변

1

당신은 여전히 ​​

visit root_path 

같은 카피 바라의 이름이 URL을 사용할 수 있지만 컨트롤러 테스트를위한 더 나은 카피 바라의 get, post을 사용할 수 없습니다. 또한 카피 바라의 통합 테스트에서는 낮은 수준으로 간주됩니다.

+0

감사합니다. 때로는 통합 테스트에서 라인을 그릴 위치를 알아내는 것이 어렵습니다. 컨트롤러 테스트. 나는'response.status가 (200)이어야한다고 가정한다.'일종의 테스트가 컨트롤러 스펙에도 있어야한다고 생각한다. – professormeowingtons

+1

@professormeowingtons, 예, 당신이 말한 것은 컨트롤러 사양에 속합니다. 엄지 손가락의 차별성은 통합 테스트가 컨트롤러 테스트가 기계 용으로 수행되는 동안 인간이 할 수있는 작업을 모방하는 것입니다. 예를 들어, 인간은 POST, PUT 할 수 없지만 기계는 수 있습니다. –

관련 문제