2011-07-17 6 views
5

rspec에 몇 가지 인수를 전달하려하지만 목적에 맞는 적절한 명령 줄 옵션을 찾을 수 없습니다. I 환경 변수를 사용할 수 있지만 테스트를 구성하는 데 가장 좋은 (가장 투명성있는) 방법인지는 확실하지 않습니다.spec/rspec에 명령 줄 인수를 전달하는 방법이 있습니까?

그래서 어떻게 명령 줄 인수를 전달할 수 있습니까? 할 수 없다면 - 가장 훌륭하고 수용 가능한 대안은 무엇입니까?

+0

나는 불가능하다고 생각합니다. http://groups.google.com/group/rspec/browse_thread/thread/aa06395242dd7aae/c1ae10d2ad4dc33a?lnk=raot&pli=1 –

+0

그것을 보았는데 가장 좋은 방법은 무엇입니까? 환경 변수? 어떻게 추적 할 수 있습니까? 인수를 받고 쉘을 환경 변수에 푸시하는 쉘 스크립트로'rspec'을 래핑해야합니까? 허위로 들린다. 그러한 방식이 의도적으로 존재하지 않는 이유가 있어야합니다. – BreakPhreak

+1

"RSpec에 명령 행 인자를 어떻게 전달합니까?"라는 질문 대신, 왜 그렇게하고 싶은지 우리에게 알려주는 것이 좋을 것입니다. 그러면 우리는 더 나은 방법이 있는지 당신을 도울 수 있습니다. 임의의 명령 행 옵션을 프로그램에 전달해야하는 경우 불량한 설계가 필요합니다. –

답변

2

이 작업을 수행하는 가장 쉬운 방법은 옵션에 태그를 추가하는 것입니다.하지만 이는 사용자의 경우에는 효과가 없을 수 있습니다.

rspec --tag sleep_5_seconds 

다음 spec_helper.rb

RSpec.configure do |c| 
    before(:each, :sleep_5_seconds => true) do 
    setup_5_second_sleep 
    end 
end 

이 코드에서

가 실행되지 않았지만 그 개념입니다. 변수를 기반으로 설정하고 해체해야하는 경우 주변 블록을 사용하여 수행 할 수도 있습니다.

관련 문제