2012-05-15 3 views
1

오이 1.1+에 대해 paths.env 파일이 생성되지 않았으므로, 예를 들어 visit login_path을 자주 테스트 단계로 사용하는 경우 개별 단계를 만들어야하나요 아니면 도처에 visit login_path을 사용해야하나요? 변경된 경우 features 디렉토리 아래에서 문자열 바꾸기를 쉽게 수행 할 수 있습니다.Ruby on Rails의 경로는 어디에서 하나입니까?

감사합니다.

답변

0

정말 건조까지 visit login_path로 전화를 단지 문제라면 나는 단지 그들이 서 그들이 명확하고 간결하기 때문에 그들을 떠날 것, 그리고 당신 (아마가) 로그인을 변경하는 거 필요하지 않습니다 경로 도우미.

# in features/step_definitions/profile_steps.rb 

When /^I go to my profile$/ do 
    visit user_path(@current_user) 
end 

paths.rb 모델 사용을 고려 그러나

이 같은 약간 더 복잡한 단계를보고 시작하면, :

# in features/step_definitions/common_steps.rb 

Given /^I go to (.+)$/ do |page_name| 
    visit path_to(page_name) 
end 

# in features/support/paths.rb 

module NavigationHelpers 
    def path_to(page_name) 
    when /my profile/ 
     user_path(@current_user) 
    ... 
    end 
end 
World(NavigationHelpers) 

맞아, 나는 paths.rb 좋아하고 selectors.rb 및 새로운 프로젝트에 복사 :) 나는 "부엌 싱크대"를 보니 기쁘다 web_steps.rb. 지원 파일을 사용하는 방법에 대한 예는 다음을 참조하십시오. https://github.com/coshx/green-eggs/blob/master/features/support

+0

"NavigationHelpers"라는 모듈에이 파일을 저장하는 방법을 어떻게 알고 있습니까? 그게 임의? –

+0

죄송 합니다만 이름은 임의이지만 'World' 메소드를 사용하여 모듈을 포함해야합니다. 나는 이것을 보여주기 위해 대답을 업데이트했다. –

+0

그거 고마워! World() https://github.com/cucumber/cucumber/wiki/A-Whole-New-World에 대한 문서에서 좋은 설명을 찾았습니다. –