2016-08-08 3 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 Функция г имени testSaveAndDrop и вы передаете testSave к --filter как так

phpunit --filter testSave 

он также будет работать testSaveAndDrop и любая другая функция, которая начинается с testSave*

это в основном подстрока матч. Если вы хотите, чтобы исключить все другие методы затем использовать $ конец строки маркера, как так

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

Отлично! Спасибо Zayn :) –

Смежные вопросы