2011-04-11 5 views
3

내가 좋아하는 제외 필터 뭔가 설정 해요 : 내가 테스트 실행을 방지하기 위해 rspec에서 여러 제외 필터를 사용할 수 있습니까? _spec.rb 파일에서

describe :get_items_by_client, :svr1 => :available do 

을 파일에 다음 나중에

RSpec.configure do |config| 
    # we need determine this once at the very front 
    # and the result be available in the instance 
    server_success = server1_available? 

    config.exclusion_filter = { 
    :svr1 => lambda {|what| 
     case what 
     when :available 
     !server_success 
     end 
    } 
    } 
end 

및 경우 서버의 ISN ' 사용할 수 없습니다.

사양 파일 만 실행하면이 모든 것이 정상적으로 작동합니다. 그러나 다른 서버에 액세스하는 테스트를 제어하는 ​​다른 파일에 비슷한 코드가 있으며 모든 코드를 실행하면 각 서버 검사가 완료됩니다 ("serverX_available?"코드에 넣었습니다). 한 세트의 테스트가 제외되고 있습니다 (어느 서버도 사용할 수 없더라도).

나는 하나의 제외 필터 만 가질 수 있다고 생각하기 시작했지만, 그 곳 어디에서나 문서를 찾을 수 있습니다. 이 작업은 파일 단위로 수행 할 수 있습니까? 지원 파일에 하나의 복잡한 필터를 모두 가질 수는 있지만 단일 스펙 파일을 실행하고있을 때 어떻게 통합시킬 수 있습니까?

이상적으로는 파일마다 작동하는 양식을 찾고 싶습니다.하지만 다소 비용이 많이 드는 검사이므로 사용 가능성 검사를 한 번 해보겠습니다. 테스트를 통해 제어되는 몇 가지 예가 있습니다.

답변

0
config.filter_run_excluding :cost => true 
config.filter_run_excluding :slow => true 

이 방법을 사용해보세요.

관련 문제