2016-08-08 2 views
9

phpunit 명령을 사용하여 Laravel은 프로젝트에서 모든 단위 테스트를 실행합니다. Laravel 5.1에서 하나 또는 특정 단위 테스트를 실행하는 방법은 무엇입니까?laravel의 테스트 스위트에서 하나의 단위 테스트 만 실행

그냥 내 테스트 제품군에서 testFindToken을 실행하고 싶습니다.

<?php 

use Mockery as m; 
use App\Models\AccessToken; 
use Illuminate\Foundation\Testing\WithoutMiddleware; 

class AccessTokenRepositoryTest extends TestCase 
{ 
    use WithoutMiddleware; 

    public function setUp() 
    { 
     parent::setUp(); 

     $this->accessToken = factory(AccessToken::class); 
     $this->repo_AccessToken = app()->make('App\Repositories\AccessTokenRepository'); 
    } 

    public function testFindToken() 
    { 
     $model = $this->accessToken->make(); 
     $model->save(); 
     $model_accessToken = $this->repo_AccessToken->findToken($model->id); 
     $this->assertInstanceOf(Illuminate\Database\Eloquent\Model::class, $model); 
     $this->assertNotNull(true, $model_accessToken); 
    }  
} 

답변

16

테스트 스위트에서 특정 테스트를 실행하려면이 명령을 사용하십시오.

phpunit --filter {TestMethodName} 

당신이 다음 두 번째 인수

phpunit --filter {TestMethodName} {FilePath} 

예로 파일 경로를 통과하여 파일에 대한 구체적하려면 :

phpunit --filter testExample path/to/filename.php 

참고 :

testSave 및 anothe라는 함수가있는 경우 R 기능은 testSaveAndDrop 이름과 당신은 또한 testSaveAndDrop를 실행하고 기본적으로 하위 문자열 일치 testSave*

로 시작하는 다른 기능을합니다 그래서

phpunit --filter testSave 

처럼 --filtertestSave를 전달합니다. 다른 모든 방법을 제외 시키려면 $ 문자열 토큰의 끝을

phpunit --filter '/testSave$/' 
+1

과 같이 사용하십시오. 감사합니다. Zayn :) –

관련 문제