Laravel ofrece una selección de herramientas prácticas y afirmaciones para simplificar la prueba de sus aplicaciones basadas en bases de datos. Las pruebas locales de Laravel pueden crear fácilmente entradas de bases de datos de prueba utilizando los modelos y relaciones de Eloquent de su aplicación. con fábricas modelo Laravel y sembradoras. Todas estas potentes funciones se tratarán en la documentación siguiente. Las pruebas unitarias se centran en una sección específica de su código, lo que le permite aislar y concentrarse en esa parte en particular. Un único procedimiento es el tema de la mayoría de las pruebas unitarias. Como resultado, las pruebas en su directorio de pruebas «Unitarias» no pueden acceder a la base de datos de su aplicación ni a otros servicios del marco porque no inician su aplicación Laravel. En este blog se tratan las ventajas de las pruebas unitarias en Laravel, cómo configurarlas para pruebas unitarias, cómo escribir y ejecutar pruebas unitarias en Laravel y las mejores prácticas para escribir pruebas unitarias exitosas. Esta publicación le brindará las habilidades y la información que necesita para dominar las pruebas unitarias en Laravel, ya sea un novato en la práctica o un desarrollador experimentado. Usar una base de datos de prueba en sus pruebas unitarias de Laravel es importante por varias razones: Aislamiento Sus pruebas se mantienen separadas de sus bases de datos de desarrollo o producción gracias a la base de datos de prueba. Esto significa que cualquier modificación realizada mientras se ejecuta una prueba en la base de datos de prueba no afectará sus otras bases de datos. Coherencia Puede asegurarse de que sus pruebas siempre se ejecuten con un conjunto de datos coherente utilizando una base de datos de pruebas. Esto ayuda a prevenir fallas de prueba inesperadas provocadas por modificaciones en su base de datos de producción o desarrollo. Velocidad Puede acelerar la base de datos de pruebas, ya que solo se utiliza para ejecutar pruebas. Esto puede acelerar el proceso de prueba y permitirle recibir comentarios sobre sus modificaciones más rápidamente. Repetibilidad Puede asegurarse de que sus pruebas sean reproducibles utilizando una base de datos de pruebas. Esto significa que puede repetir las pruebas y obtener los mismos resultados cada vez, lo que puede resultar útil para depurar y solucionar problemas. En general, el uso de una base de datos de prueba en sus pruebas unitarias de Laravel garantiza que sean rápidas, precisas y consistentes. Realizar mejoras en las interacciones de su base de datos también reduce el riesgo de introducir problemas o errores en su aplicación. Hay algunas mejores prácticas esenciales de pruebas de Laravel que debe recordar al escribir pruebas unitarias en Laravel: Pruebe solo una cosa a la vez: cada prueba debe limitarse a una sola técnica o característica. Utilice un nombre descriptivo: utilice nombres de prueba descriptivos para las pruebas de la base de datos Laravel que dejen en claro qué está probando la prueba. Dé a sus pruebas nombres que tengan significado. Escriba pruebas primero: al comenzar con pruebas, puede hacer que su código sea más comprobable y evitar escribir funciones que sean difíciles de probar. Pruebe casos extremos: para garantizar que su código funcione correctamente en todas las circunstancias, pruebe casos extremos como entradas vacías o valores de entrada máximos. Estos consejos y mejores prácticas de prueba de Laravel lo ayudarán a configurar su base de datos de prueba. Instrucciones El primer paso es crear una base de datos. Esta base de datos debe ser un clon de su base de datos real, que utiliza la aplicación pero no debe contener ningún dato dentro de las tablas. Por ejemplo, le hemos dado el nombre «unittest_db» a la nueva base de datos. Cree .env.testing en la carpeta raíz y pegue los siguientes códigos APP_URL=http://localhost APP_ENV=testing DB_CONNECTION=mysql DB_TEST_HOST=127.0.0.1 DB_TEST_PORT=3306 DB_TEST_DATABASE=unittest_db DB_TEST_USERNAME=root DB_TEST_PASSWORD= Coloque el siguiente código en config/ base de datos.php Nota: debajo del fragmento justo después de la matriz mysql. Es parte de la matriz de conexiones. ‘prueba’ => [
‘driver’ => ‘mysql’,
‘url’ => env(‘DATABASE_URL’),
‘host’ => env(‘DB_TEST_HOST’, ‘127.0.0.1’),
‘port’ => env(‘DB_TEST_PORT’, ‘3306’),
‘database’ => env(‘DB_TEST_DATABASE’, ‘forge’),
‘username’ => env(‘DB_TEST_USERNAME’, ‘forge’),
‘password’ => env(‘DB_TEST_PASSWORD’, »),
‘unix_socket’ => env(‘DB_SOCKET’, »),
‘charset’ => ‘utf8mb4’,
‘collation’ => ‘utf8mb4_unicode_ci’,
‘prefix’ => »,
‘prefix_indexes’ => true,
‘strict’ => true,
‘engine’ => null
]Ahora la base de datos está separada para fines de prueba y cuando ejecute pruebas unitarias, su base de datos real no se modificará. Además, su aplicación utilizará unittest_db durante las pruebas. A continuación se muestran algunos comandos de laravel útiles para ejecutar las pruebas. Ejecute todas las pruebas de una sola vez: php artisan test Ejecute la prueba de un solo archivo: php artisan test –filter=ProductTest Ejecute un solo método: php artisan test –filter=ProductTest::test_store Ejecute todas las pruebas de una sola vez: php artisan test Si ha instalado XDebug en su máquina local y desea generar informes impresionantes de su prueba unitaria, simplemente ejecute el comando: php artisan test –coverage-html=reports Siguiendo los pasos anteriores, puede configurar una base de datos de prueba para pruebas locales en el base de datos. Si está buscando desarrolladores expertos que lo hagan por usted, contáctenos ahora. Somos una empresa de desarrollo de Laravel confiable con un grupo de desarrolladores talentosos.
Etiqueta: Prueba de base de datos Laravel
