2016-08-08 14 views
9

Mit phpunit Befehl Laravel wird alle Komponententests in unserem Projekt ausführen. Wie führe ich einen oder bestimmte Unit Tests unter Laravel 5.1 aus?Führen Sie nur einen Einheitentest aus einer Testsuite in Laravel

Ich möchte nur aus meiner Testsuite ausführen.

<?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); 
    }  
} 

Antwort

16

Verwenden Sie diesen Befehl, um einen spezifischen Test aus Ihrer Testsuite auszuführen.

phpunit --filter {TestMethodName} 

Wenn Sie über Ihre Datei genauer sein, dann den Dateipfad als zweites Argument übergeben

phpunit --filter {TestMethodName} {FilePath} 

Beispiel:

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

Hinweis:

Wenn Sie eine Funktion namens testSave und ander haben r Funktion testSaveAndDrop genannt und Sie passieren testSave zum --filter wie so

phpunit --filter testSave 

es wird auch testSaveAndDrop und andere Funktion ausführen, die mit beginnt testSave*

es ist im Grunde eine Unterkette Spiel. Wenn Sie alle anderen Methoden ausschließen wollen, dann verwenden $ Ende der Zeichenfolge-Token wie so

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

Great! Danke Zayn :) –

Verwandte Themen