2016-11-03 4 views
0

논리적으로 함께 시나리오를 그룹화 할 수있는 방법을 이해하려고합니다. 주문을 작성한 후 장바구니보기와 같은 기능이 있다고 가정 해 보겠습니다.연쇄 오이 시나리오

Given I am on the items page 
When I click shop button 
And I add an apple 
And I add a bananna 
When I click next 
Then I should see my cart summary 

이제 일부 항목을 제거하는 등 더 자세히 가고 싶습니다. 나는 완전히 새로운 특징 파일을 만들고 싶지 않다. 위의 내용을 참조하는 새로운 시나리오를 만들고 싶습니다. 이 시나리오가 시작된 곳에서 시작되는 또 다른 시나리오를 어떻게 추가 할 수 있습니까?

답변

1

당신이 찾고있는 가장 가까운 것은 background입니다 :

배경은 단일 기능의 시나리오에 약간의 컨텍스트를 추가 할 수 있습니다. 배경은 여러 단계가 포함 된 시나리오와 매우 유사합니다. 차이점은 실행 시점입니다. 배경은 각 시나리오 전에 실행되지만 Before Hooks가 실행 된 후에 실행됩니다. 그들은 공통의 배경 (초기 단계의 집합)을 공유하지만 두 시나리오는 독립적이라고

Feature: Shopping cart testing 

    Background: 
    Given I am on the items page 
    When I click shop button 
    And I add an apple 
    And I add a bananna 
    And I click next 

    Scenario: Check shopping cart is present 
    Then I should see my cart summary 

    Scenario: I should be able to remove an item 
    When I remove an item 
    Then the shopping cart should have one item 

참고 :

이 아이디어를 사용하여, 당신은 뭔가를 할 수 있습니다.

Givens 만 사용하지만 일반적으로 백그라운드 테스트를 사용합니다. 내 관점에서 볼 때 배경은 사용자가 수행 한 작업이 아니라 상태를 제공해야합니다 (단, 이는 제 의견입니다). 백그라운드에서 when을 사용하는 테스트가 있다는 것을 알고 있으며 허용 된 방법입니다.

희망이 있습니다.

+0

이 예제에서 배경은 두 번 실행됩니까? – Tree55Topz

+0

예, 시나리오 당 한 번 실행됩니다. – acontell

+0

흠, 시나리오 A와 같은 것을 좀 더 기대했는데, 다음 시나리오는 주어진 시나리오 A와 같은 것부터 시작합니다. 배경처럼 완전한 재시작을 피하기 위해 노력하지만 오히려 시나리오 A가 완료되면 시나리오 B는 시나리오 A가 중단 된 동일한 페이지를 선택합니다. – Tree55Topz