2013-10-24 4 views
4

다른 기능에 다른 컨텍스트 클래스를 사용하는 방법이 있는지 궁금합니다.기능별 컨텍스트

브라우저 테스트를 위해 MinkExtensions를 사용하고 API 테스트를 위해 Guzzle와 같은 HTTP 클라이언트를 사용하는 한 가지 기능을 사용하고 싶습니다. 둘 다 서로 다른 구현을 통해 비슷한 단계를 거칩니다. ". 당 태그, 디렉토리 별, 역할 컨텍스트 클래스에 대한이 지원하는 멀티 콘텐츠 실행"나는이었다 진언 "역할의 중요성을 : Behat 3에 http://everzet.com/tagged/Behat 기능을 참조하십시오

+1

분명히이 기능은 Behat 3의 일부가 될 것입니다. –

답변

5

이 가능해야한다 각 역할은 결국 자신의 단계 사전을 가질 수있게 될 것입니다 항상 설교가 가능하게 될 것입니다. "

현재 Behat 2에서는 기능을 분리하기 위해 다른 프로필을 사용할 수 있습니다. 당신의 behat.yml에서는 다음과 같이 할 수 :

#running login suite using Mink 
login-suite: 
    paths: 
     features: features/login-suite 
     bootstrap: features/login-suite/bootstrap 

    extensions: 
     mink-extension.phar: 
      base_url: http://domain.org 

    formatter: 
     name: pretty, junit, html 
     parameters: 
      output_path: null, logs/login-suite/, logs/login-suite/out.html 

#running logout suite using the WebApi 
logout-suite: 

    paths: 
     features: features/logout-suite/ 
     bootstrap: features/logout-suite/bootstrap/ 

    formatter: 
     name: pretty, junit, html 
     parameters: 
      output_path: null, logs/login-suite/, logs/logout-suite/out.html 

    extensions: 
     Behat\WebApiExtension\Extension: 
      base_url: http://api.domain.org 

FeatureContext.php 파일 로그인 스위트에 대한 및 로그 아웃 스위트 기능은 이제 분리된다.

문제는 지금 모든 테스트를 한 번에 실행할 수 없다는 것입니다. 컨텍스트를 사용하여 이렇게 할 수도 있습니다. http://docs.behat.org/guides/7.config.html#Context