unitarias pruebas example ejecutar descargar php laravel phpunit laravel-5.2

pruebas - cómo probar la clase de prueba específica usando phpunit en laravel



pruebas unitarias (5)

Quiero probar una clase de prueba específica en mi proyecto, ya que hay muchas clases de pruebas que fallan y solo quiero probar una clase a la vez.

He creado la clase de prueba en la siguiente carpeta /test/repositories/ApplicationVersionFormat.php :

<?php use App/Repositories/ApplicationVersionFormat; class ApplicationVersionFormatTest extends /TestCase { public function testValidFormat() { $version = ''1.2.3''; $appVersion = new ApplicationVersionFormat(); $this->assertEquals(true,$appVersion->isValidVersion($version)); } public function testInvalidFormat() { $version = ''11.2.3''; $appVersion = new ApplicationVersionFormat(); $this->assertEquals(false,$appVersion->isValidVersion($version)); } public function testInvalidFormat2() { $version = ''1.22.3''; $appVersion = new ApplicationVersionFormat(); $this->assertEquals(false,$appVersion->isValidVersion($version)); } public function testInvalidFormat3() { $version = ''1.2.33''; $appVersion = new ApplicationVersionFormat(); $this->assertEquals(false,$appVersion->isValidVersion($version)); } public function testInvalidFormat4() { $version = ''11.22.33''; $appVersion = new ApplicationVersionFormat(); $this->assertEquals(false,$appVersion->isValidVersion($version)); } }

Así que he intentado este siguiente comando, pero nada de esto funciona:

  • phpunit "repositories/AppVersionTest" . => No se puede abrir el archivo "test / repositories / AppVersionTest.php"
  • phpunit "test/repositories/AppVersionTest" . => No se puede abrir el archivo "test / repositories / AppVersionTest.php"
  • phpunit --filter "repositories/AppVersionTest" . => No hay pruebas ejecutadas!
  • phpunit --testsuite "repositories/AppVersionTest" . => No hay pruebas ejecutadas!

¿alguna ayuda? Gracias


Después de probar varias maneras, descubrí que no necesito incluir la carpeta para probar la clase de prueba específica. Esto funciona para mí, ejecuta todas las pruebas en la clase:

phpunit --filter ApplicationVersionFormatTest

Creo que es porque mi ApplicationVersionFormatTest extiende The TestCase y devuelve la instancia de la aplicación que sirve como "pegamento" para todos los componentes de Laravel.


Ejemplo de uso:

php phpunit-5.7.27.phar -c app/ "src/package/TestBundle/Tests/Controller/ExampleControllerTest.php"


Probablemente pueda manejar eso con esta respuesta a una pregunta relacionada.

Simplemente marque la clase con la anotación @group y ejecute PHPUnit con --group <group_name>

Actualizar

Su comando con --filter no está completo. Pruebe esto: phpunit --filter AppVersionTest "repositories/ApplicationVersionFormat.php"


para ejecutar prueba de phpunit en laravel de muchas maneras ..

vendor/bin/phpunit --filter methodName className pathTofile.php vendor/bin/phpunit --filter ''namespace//directoryName//className::methodName''

para prueba de clase única:

vendor/bin/phpunit --filter tests/Feature/UserTest.php vendor/bin/phpunit --filter ''Tests//Feature//UserTest'' vendor/bin/phpunit --filter ''UserTest''

para el método de prueba solo:

vendor/bin/phpunit --filter testExample vendor/bin/phpunit --filter ''Tests//Feature//UserTest::testExample'' vendor/bin/phpunit --filter testExample UserTest tests/Feature/UserTest.php

para ejecutar pruebas de todas las clases dentro del espacio de nombres:

vendor/bin/phpunit --filter ''Tests//Feature''

para más prueba de carrera ver más


phpunit --filter <relative_path_to_file> por ejemplo, los archivos a probar son, test/repos/EloquentPushTest.php , test/repos/EloquentWebTest.php para probar EloquentWebTest.php

utilizar phpunit --filter ./repos/ElqouentWebpush