2012-11-10 3 views
0

rspec 디렉토리가 다소 복잡해지기 시작하여 모든 사양을 cases 디렉토리로 옮겼습니다. 이렇게하면 rspec은 *_controller_spec.rb:type => :controller으로 처리를 중단했습니다. 이 행동을 되 찾는 마술 방법은 무엇입니까?레일 앱에서 rspec 사례 이동하기

답변

1

관련 코멘트 양식 a discussion on the rspec-rails github page :

통합의 RSpec에 레일이 사양 파일에있는 디렉토리의 협약에 따라 예를 들어 그룹을 포함 얻을 모듈을 기반으로 다양한 스펙 유형을 제공하는 되세요. example folder을 보면 각 사양 유형에 포함 된 모든 모듈을 볼 수 있습니다. example.rb은 file_path를 기반으로이 모든 것을 연결합니다.

rspec-rails의 "일반적인"규칙을 벗어 났으므로이 배선 작업을 직접 수행해야합니다. 각 예제 그룹에 모듈을 수동으로 포함하거나, 메타 데이터를 사용하여 예제 그룹에 해당 유형을 태그로 지정하거나, 유형을 기반으로 포함 시키거나, rspec-rails가 수행하는 것과 유사한 file_path 규칙 방식을 사용할 수 있습니다.

그래서 기본적으로 this file의 사본을 작성하고 RSpec::configure 블록으로 그 붙여 넣기 한 후, spec cases에 의해 escaped_path에 전화에있는 모든 spec를 교체하십시오. 더 쉬운 방법이있을 수 있습니다. 이것은 몇 초 동안 검색 한 결과입니다 (결코 실제로이 문제를 직접 시도하지 않았습니다).

+0

나는 이것을 시도 할 것이다. 너 무슨 짓을 한거야? 나는 그것을 시도했다. –

+0

"rspec 디렉토리 구조"가 네 번째 결과로 해당 링크를 반환했습니다. –

+0

감사합니다. 내 수색에서 좀 더 일반적인 것이 었어야 했어. –

-1

spec/foo_controller_spec.rb과 같은 파일이 있다면 "controllers"이라는 디렉토리에 파일을 저장하는 것입니다. 그래서 당신은 spec/controllers/foo_controller_spec.rb이됩니다.

rspec-rails의 readme은 어떤 종류의 사양이 어떤 디렉토리에 있는지에 대해 자세히 설명합니다.

+0

모든 것이 'spec/controllers'에있었습니다. 이제 그들은 spec/cases/controllers에 있습니다. 나는 그것을하는 표준 방법을 찾고 있지 않다. –

관련 문제