2014-12-28 5 views
4

Laravel에서 배치 된 폴더를 기반으로 단위 테스트를 실행할 수 있습니까?Laravel : 폴더로 테스트 구성 및 실행

현재 phpunit.xml은/를 지정 단위 테스트의 루트 디렉토리로 테스트 :

... 
<testsuites> 
    <testsuite name="Application Test Suite"> 
     <directory>./app/tests/</directory> 
    </testsuite> 
</testsuites> 
... 

테스트가 phpunit 명령을 사용하여 CLI를 통해 실행된다. 나는 다음과 같이 하위 폴더에 테스트를 구성하고 싶습니다 :

/는 테스트

  • /단위

그래서 난에서 테스트 만 실행할 수 있습니다/통합 지정된 하위 폴더는 phpunit integration입니다.

프레임 워크는 "통합"이 존재하지 않는 PHP 파일의 이름이라고 가정합니다.

목표를 달성하려면 어떻게해야합니까?

답변

17

이것은 실제로 Laravel과는 관계가 없습니다. PHPUnit 일뿐입니다.

testsuites을 정의하고 이름별로 실행할 수 있습니다.

<testsuites> 
    <testsuite name="unit"> 
     <directory>./app/tests/unit/</directory> 
    </testsuite> 
    <testsuite name="integration"> 
     <directory>./app/tests/integration/</directory> 
    </testsuite> 
</testsuites> 

그런 다음

+0

phpunit --testsuite integration 내가 기본 하나에 두 testsuites을 추가 실행합니다. 이제,'phpunit'은 모든 테스트 (루트와 서브 폴더)를 트리거합니다. 그러나 'phpunit integration'은 여전히 ​​유효합니다 ** "integration.php"파일을 열 수 없습니다 **. – lesssugar

+1

오, 내 잘못이야! 'phpunit --testsuite integration'을 사용하여 실행해야합니다. 업데이트 내 대답 – lukasgeiter

+0

그래, 그것은 작동 :) – lesssugar