2017-01-17 3 views
0

배열이 비어 있는지 확인하고 배열이 비어 있지 않으면 배열을 인쇄하고 단계를 실패해야하는 동작에 대한 단계 정의를 작성합니다. 이렇게하려면 다음 코드를 단계 정의에 작성했습니다.계속 예외가 발생하면 Behat을 계속 실행합니다.

if (!empty($issues)) { 
     print_r($issues); 
     throw new \Exception("Above issues were found for"); 
} 

현재 예외가 표시되면 실행이 중지되고 이후 시나리오는 실행되지 않습니다.

+0

예외의 스택 추적을 추가 할 수 있습니까? 다른 시나리오를 실행하지 않는 유일한 방법은 PHP 치명적인 오류가 발생하는 경우입니다. – lauda

답변

0

전체 시나리오에서 단계 만 실패 할 수 없습니다.

시나리오의 단계 중 하나라도 실패하면 시나리오가 실패하고 시나리오의 나머지 단계가 실행되지 않습니다. 나머지 단계는 실패한 이전 단계의 작업을 계속해야하기 때문입니다.

시나리오의 논리를 다시 확인하고 behat/bdd 문서를 검토하십시오.

+0

안녕하세요, @lauda, ​​시나리오 자체에 실패했습니다. 시나리오가 실패하면 다른 시나리오의 스크립트 실행을 계속하고 싶습니다. –

0

Jeevan, Behat는 하나 또는 여러 시나리오가 기능 파일에서 실패 할 경우 스크립트 실행을 중지하지 않습니다. 예를 들어, 하나의 기능 파일 "test.feature"에 10 개의 시나리오가있는 경우, 전체 기능 파일을 behavior/test.feature로 실행하는 명령을 실행하면 시나리오 2가 실패하더라도 모든 시나리오가 계속 실행됩니다.
결국 첨부 된 스크린 샷에 따라 요약을 볼 수 있습니다.

Results summary