2013-10-14 2 views
5

이미 4 개의 번들과 PHPUnit 테스트 케이스가있는 Symfony2 프로젝트에 대한 코드화 설정을 시도했습니다. 이제는 Acceptance Test를 위해 codeception Testcases를 추가하고 싶었지만, 코드 구조를 "bootstrapped"할 때 생성 된 코드는 모두 내 주요 구조에서 찾았습니다. 내 응용 프로그램이 이미 번들로 구성되어 있으므로 필자는 테스트 케이스에 대한 개념을 유지하기를 원했습니다. 특히 내 번들 내에 PHPUnit 테스트 케이스가 이미 있기 때문에 특히 그렇습니다. 공식 s2 코드 작성은 이것을 실제로 다루지 않습니다. 그래서 나를 위해 몇 가지 질문이 발생할 :코드 분할 내 번들 설정

  1. 어떻게 설정 codeception에 내가 하나의 명령으로 모든 기존 phpunit을의을 testcases 및 내 codeception의을 testcases으로 실행 어떻게 내 번들
  2. 내에서 작동하는지?

답변

2

그냥 비슷한 방식으로 설정했습니다. 나는 당신의 두번째 질문에 대해 모르는

vendor/bin/codecept run -c src/Acme/ExampleBundle 

:

codeception은 다음 -c 당신이 필요로 할 것입니다 스위치, 즉 :

vendor/bin/codecept bootstrap src/Acme/ExampleBundle 

하고 있습니다. 적어도 Unit 테스트의 경우,이를 Codeception 테스트로 변환하는 것은 쉽지 않았습니다. 특히 내 테스트가 모두 추상 클래스에서 파생 되었기 때문에, 아마도 10 줄의 변경이 있었을 것입니다. 대부분 설치 작업이었습니다.

+0

또한하는 대신 파일 codeception.yml' 루트'에 다음 줄을 추가 할 수 있습니다 '-c' 플래그를 지정할 때마다 : 'include : - src/Acme/ExampleBundle' 정상적으로'vendor/bin/codecept run'을 실행하십시오. 그것은 번들의'codeception.yml' 설정을 찾고 모든 테스트를 같은 실행에 포함시킵니다. – teaforchris

2

@Tom Symfony2-Module이 symfony2-app의 루트 폴더에있는 bootstrap.php.cache 파일을 찾고 있기 때문에 작동하지 않습니다! 내 솔루션이 귀하의 응용 프로그램/폴더에 번들에 링크를 만드는 것입니다! 그것보다 일할거야!

에서 {당신의 루트}/src에/{당신의-앱}/{당신의-번들} :

ln -s ../../../app .