2017-03-01 1 views
2

기존의 소규모 프로젝트에서 & Behat을 설치하려고합니다. 나는 *.feature 파일을 features 폴더에 넣는 개념을 이해하고 실제 *Context.php 파일을 features/bootstrap 폴더에 넣을 수 있습니다. 나는 실제 기능 구현을 언급 문서의 일부를 볼 때 그것은 기본적으로 Behat 것은이 같은 폴더에 응용 프로그램 특정 클래스를 넣어 것으로 기대하고 있음을 의미한다 : 우리는 기능/부트 스트랩에 선반 클래스를 넣어 내 응용 프로그램 폴더에서 클래스를 자동로드하도록 Behat을 구성하는 방법

/Shelf.php features/bootstrap은 Behat의 자동 로딩 폴더이기 때문에. Behat에는 내장 PSR-0 오토로더가있어 기능/부트 스트랩을 조사합니다. 자신의 애플리케이션을 개발중인 이라면, 클래스를 앱에 적합한 장소에 넣는 것이 좋습니다.

그러나 실제 app 폴더에서 클래스를 인식 할 수 있도록 Behat을 구성하는 방법은 문서의 아무 곳이나 언급하지 않습니다.

이 내 프로젝트의 디렉토리 구조입니다 :

/ 
-/app 
--/classes --where my apps classes actually live 
-/features --behat generated folder 
--/bootstrap --behat generated folder 
-/public 
-/system 
-/vendor -- composer included libraries 

내 프로젝트는 응용 프로그램/클래스 폴더에 검색 클래스에 대한 자신의 오토로더를 사용하고, 디렉토리 분리가 될 것입니다 경우 클래스 이름은 밑줄을 사용 통로. 예 : class Controller_App은 (는) app/classes/controller/app.php에 있습니다.

features/bootstrap 폴더에서 응용 프로그램 클래스를 찾을 수 없도록 Behat을 구성하려면 어떻게해야합니까?

답변

3

솔루션은 composer.json에 다음을 추가했다 :

"autoload": { 
     "psr-0": {"":"app/classes"} 
} 

다음 composer dump-autoload

다음 작동을 실행!

관련 문제