2016-09-26 10 views
0

테스트를 작성할 레거시 애플리케이션에 ZF 2.5.0을 사용하고 있습니다.Behat으로 테스트 할 Zend Framework 2 응용 프로그램을 부트 스트랩하는 방법

나는 this question을 참조로 사용했지만 주로 자동 로딩과 관련된 많은 사항이 변경되었습니다.

기본적으로 수동으로 내 FeatureContext 안에 AbstractControllerTestCase의 하위 클래스를 인스턴스화합니다. 나는 구체적으로 ServiceLocator 인스턴스를 얻으려고하므로 내 종속성을로드 할 수 있습니다 (예 : $locator->get('Doctrine\ORM\EntityManager');).

부트 스트랩하는 방법을 이해하기 위해 tutorial for PHPUnit을 읽었습니다. 이 튜토리얼을 읽는 동안, Boostrap 클래스가 클래스 인스턴스를 생성하는 것으로 나타났습니다. 그러나 AbstractControllerTestCase으로 생성 된 애플리케이션 인스턴스에이 인스턴스가 어떻게 주입되는지는 알 수 없습니다.

이것에 대한 설명이나 설명이 도움이 될 것입니다. 또는 일반적으로 Behat과 함께 작동하도록 응용 프로그램을 부트 스트랩하는 방법에 대해 설명합니다.

답변

1

Behat와의 통합 ZF2/3 확장을 만들었습니다. https://github.com/alteris/behat-zendframework-extension

아마도 도움이 될 것입니다.

+0

빠른 질문입니다.이 확장 기능은 zf 응용 프로그램을 부트 스트랩합니까? 아니면 여전히 웹 서버가 필요합니까? –

+1

부트 스트랩 Zf 응용 프로그램 (웹 서버는 제외). serviceManager 등을 직접 호출 할 수는 있지만 프론트 엔드를 호출하려면 웹 서버가 필요합니다. – timiTao