Imanuel Pardosi
Usando phpunit
comando Laravel ejecutará todas las pruebas unitarias en nuestro proyecto. Cómo ejecutar una o pruebas unitarias específicas en Laravel 5.1
?
solo quiero correr testFindToken
de mi suite de pruebas.
<?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);
}
}
Zayn Alí
Utilice este comando para ejecutar una prueba específica desde su conjunto de pruebas.
phpunit --filter {TestMethodName}
Si desea ser más específico acerca de su archivo, pase la ruta del archivo como segundo argumento
phpunit --filter {TestMethodName} {FilePath}
Ejemplo:
phpunit --filter testExample path/to/filename.php
Nota:
Si tienes una función llamada testSave
y otra función llamada testSaveAndDrop
y pasas testSave
hacia --filter
al igual que
phpunit --filter testSave
también se ejecutará testSaveAndDrop
y cualquier otra función que comience con testSave*
es básicamente una coincidencia de subcadena. Si desea excluir todos los demás métodos, utilice $
token de fin de cadena así
phpunit --filter '/testSave$/'
-
¡Excelente! Gracias Zayn 🙂
–Imanuel Pardosi
8 de agosto de 2016 a las 5:18
-
Bien explicado. Pero para laravel, si el comando phpunit no está configurado con su proyecto, tendrá que usar
./vendor/bin/phpunit
en cambio.– Salman Shahid
21 de febrero de 2020 a las 11:01
Doan tailandés
Deberías correr ./vendor/bin/phpunit --help
para obtener todas las opciones con phpunit. Y puede ejecutar phpunit con alguna opción a continuación para ejecutar un método o clase específicos.
--filter <pattern> Filter which tests to run.
--testsuite <name,...> Filter which testsuite to run
-
Gracias @Ken Pi, exactamente lo que estaba buscando
– Shaz
25 de diciembre de 2018 a las 7:14
php artisan test --filter UserTest
Para el entorno de Windows, esto funciona para mí:
en consola:
vendor\bin\phpunit --filter login_return_200_if_credentials_are_fine tests/Unit/Http/Controllers/AuthControllerTest.php
DÓNDE
login_return_200_if_credentials_are_fine – su método de prueba tests/Unit/Http/Controllers/AuthControllerTest.php – ruta donde se definió el método de prueba
Tarde a la fiesta, pero podría ayudar a alguien.
Para probar un archivo de prueba específico
prueba artesanal de php –filter AccessTokenRepositoryTest
Para probar el caso específico de ese archivo
prueba artesanal de php –filter AccessTokenRepositoryTest::testFindToken