Introducción
Laravel está construido pensando en las pruebas. De hecho, el soporte para pruebas con PHPUnit es incluido de forma predeterminada y un archivo phpunit.xml
ya está configurado para tu aplicación. El framework también viene con métodos de ayuda convenientes (helpers) que permiten que pruebes tus aplicaciones de forma expresiva.
De forma predeterminada, el directorio tests
de tu aplicación contiene dos directorios: Feature
y Unit
. Las pruebas unitarias (Unit) son pruebas que se enfocan en una muy pequeña porción aislada de tu código. De hecho, la mayoría de las pruebas unitarias se enfocan probablemente en un solo método. Las pruebas funcionales (Feature) pueden probar una porción más grande de tu código, incluyendo la forma en la que varios objetos interactúan entre sí e incluso una solicitud HTTP completa para un endpoint de JSON.
Un archivo ExampleTest.php
es proporcionado en ambos directorios de prueba Feature
y Unit
. Después de instalar una nueva aplicación de Laravel, ejecuta phpunit
en la línea de comandos para ejecutar tus pruebas.
Entorno
Al momento de ejecutar las pruebas por medio de phpunit
, Laravel establecerá automáticamente el entorno de configuración a testing
debido a las variables de entorno definidas en el archivo phpunit.xml
. Laravel también configura automáticamente la sesión y caché para que usen el manejador o driver array
al momento de ejecutar las pruebas, lo que significa que ninguna sesión o caché de datos será conservada mientras las pruebas son ejecutadas.
Eres libre de definir otros valores de configuración del entorno de pruebas cuando sea necesario. Las variables de entorno testing
pueden ser configuradas en el archivo phpunit.xml
, pero ¡asegúrate de limpiar tu caché de configuración usando el comando Artisan config:clear
antes de ejecutar tus pruebas!
Además, puedes crear un archivo .env.testing
en la raíz de tu proyecto. Este archivo anulará el archivo .env
cuando ejecutes las pruebas PHPUnit o cuando ejecutes los comandos de Artisan con la opción --env = testing
.
Creando y ejecutando pruebas
Para crear un nuevo caso de prueba, usa el comando Artisan make:test
:
// Create a test in the Feature directory... php artisan make:test UserTest // Create a test in the Unit directory... php artisan make:test UserTest --unit
Una vez que la prueba ha sido generada, puedes definir métodos de pruebas como lo harías normalmente usando PHPUnit. Para ejecutar tus pruebas, ejecuta el comando phpunit
desde tu terminal:
<?php namespace Tests\Unit; use PHPUnit\Framework\TestCase; class ExampleTest extends TestCase { /** * A basic test example. * * @return void */ public function testBasicTest() { $this->assertTrue(true); } }
Si defines tus propios métodos setUp
/ tearDown
dentro de una clase de prueba, asegúrate de ejecutar los métodos parent::setUp()
/ parent::tearDown()
respectivos en la clase padre.
Regístrate hoy en Styde y obtén acceso a todo nuestro contenido.
Lección anterior Eloquent: Serialización - Documentación de Laravel 6 Lección siguiente Pruebas HTTP - Documentación de Laravel 6