2012-02-01 2 views
1

저는 Cucumber에게 매우 익숙합니다. Feature B에있는 시나리오 B를 실행하기 전에 Feature A에있는 특정 시나리오 A를 실행해야하는 상황이 있습니다. 어떻게해야합니까? 오이, 나는 @After와 @Before를 피쳐에서 사용했지만 어떻게 이런 cross features dependencies를 돌볼 수 있을까? 고마워.오크 종속성

+2

코드 ell과 비슷합니다. 기능은 독립적이라고합니다. –

+0

은 "등록 관리"기능에 의존하는 "프로파일 관리"를하지 않습니까? – Tarun

답변

4

시나리오는 독립적이어야합니다 (수락 테스트, 단위 테스트 등 모든 종류의 테스트와 동일). 테스트/스펙의 순서에 대해서는 절대 가정하지 마십시오.

각 시나리오 (또는 태그가 태그 된 시나리오)의 전후에 공통 작업을 수행해야하는 경우 BeforeAfter 후크를 사용하십시오.

Feature: some feature 

    Background: logged in 
    Given I am logged in as administrator 

    Scenario: some scenario where user will be logged in 

참고 :이 기능에서 각 시나리오 전에 같은 초기화를 할 필요가 당신이 당신의 Feature의 텍스트에서이 초기화에 대해 명시 적으로 를 원하는 경우에

, 당신은 Background을 사용할 수 있습니다 :Before 전에 실행되는 후크 Backgrounds

+0

Alex에게 많은 감사드립니다. 이것은 매우 유용하고 교육적이었습니다. 시나리오의 모든 시나리오가 실행 된 후에 시나리오를 실행하고 싶다면 배경과 비슷한 마지막 질문이 하나 있습니다. 일반적으로 Cucumber에서 어떻게 수행됩니까? 예를 들어 TestNG에는 @AfterClass라는 태그가 있습니다. 기본적으로 계정이 해체되는 것과 같습니다. 예를 들어 계정의 상태를 일부 변경했는데, 이제이 마지막 시나리오에서 계정을 원래 상태로 되돌리고 싶습니다. –

+0

일반적으로 teardown (및 setup) 논리는 구현 세부 사항이며 * Before *, * After * 또는 ** Around ** 후크로 구현됩니다 (사양을 읽는 독자는 이러한 기술적 인 사항에 대해 알 필요가 없기 때문에). 오이 후크 [here] (https://github.com/cucumber/cucumber/wiki/Hooks)에 대한 자세한 내용을 볼 수 있습니다. 'Background'는 사용자가 일반적으로 읽을 수있는 (기술적이지 않은) 배경을 제공 할 때 유용합니다. '배경'은 반대의 방법이 없다. 오이 개발자가 백그라운드 (Background) 사용법에 대한 조언을 여기에 적었습니다. (https://github.com/cucumber/cucumber/wiki/Background). –