2011-01-10 5 views
3

셀레늄 테스트 파일 (Ruby 및 rspec 사용)에 여러 개의 'it'블록이 있습니다. 내 웹 응용 프로그램의 다양한 부분을 테스트하십시오. 각 'it'블록은 실행을 멈추고 조건이나 코드 중 하나라도 실패하면 다음 'it'블록으로 이동합니다.이전 셀레늄 테스트가 실패한 경우에만 셀렌 테스트 실행

  • 실패한 테스트에 반응하는 기능을 이전이 실패 할 경우에만 '그것'블록 을 실행하거나 호출 할 수있는 방법이 있나요?
  • 내가하고 싶은 일을 수행하는 더 좋은 방법은 'it'블록을 포함하지 않습니까?

예 '는'

it "should load example.com" do 
    page.open("http://example.com") 
    page.wait_for_page_to_load(25) 
end 

답변

1

내가 내 현재 솔루션을 좋아하고 거기에이 작업을 수행 할 수있는 더 좋은 방법이지만, 지금은 생각하지 않는다 차단 ...

  • 랩 응급 구조 블록의 'it'블록에 있던 원래 테스트 코드
  • 구조 섹션의 실패에 응답하는 코드 넣기

.

it "should load example.com" do 
    begin 
    page.open("http://example.com") 
    page.wait_for_page_to_load(25) 
    "wow".should == "cool" 
    rescue Exception => e 
    // code that responds to failed test 
    end 
end 

나는이

  • 내가 이런 더러운 작문 시험 코드를 기분 좋아하지 않는 이유 (그것은 잘못된 느낌!) 구조 코드는
  • 실패하지 않는
  • RSpec에이 패스를보고
+1

실제 테스트입니까, 아니면 나중에 테스트 할 수 있습니까? 이상적인 테스트는 설치, 테스트 및 분해가 포함 된 독립 실행 형 장치로 어떤 순서로든 실행될 수 있습니다. 테스트를 통과하는 동안, 아마도 'raise'와 같은 구조 섹션을 종료해야합니다. '이 테스트가 실패했습니다.' –

관련 문제