Post Top Ad

Your Ad Spot

jueves, 30 de julio de 2020

Comenzando con las pruebas en Laravel

prueba-con-laravel

Las pruebas no son algo en lo que personalmente haya dedicado mucho tiempo. pruebas con Laravel porque es un nuevo desafío y algo divertido para jugar y aprender. 


Introducción a las pruebas en Laravel

Cuando empiezo algo nuevo, me gusta ir lo más básico que sea humanamente posible. PHPUnit , uno de los marcos de prueba más comunes para PHP. lpgLaravel Play Ground , y reside en Laravel Homestead. 

Hasta ahora, este archivo no significa mucho para nosotros, pero veremos si podemos aprender sobre él a medida que avanzamos. /testsdirectorio y un /appdirectorio a tener en cuenta, así como un archivo de carga automática para la rutina de carga. phpuniten la línea de comando de esta manera.

your-first-laravel-test

Wow, esto se ve muy bien! ingresar en la caja de la granja , ya que necesitamos ejecutar pruebas en la máquina virtual, no en la computadora host. cd Code, entonces cd lpgphpunit

Resulta que hay uno ExampleTest.phpque ya vive en el directorio de pruebas de nuestro proyecto. phpuniten la línea de comando. 

¡Muy genial! Simplemente mirando el código podemos inferir que al visitar la raíz de nuestro proyecto, veremos el texto de Laravel. 
visitando la raíz de nuestra aplicación laravel

Micro Resumen: Este primer ejemplo fue simplemente inspeccionar la prueba predeterminada que se envía con Laravel. visit () y see () . ejecutamos el comando 


Entonces, ¿qué es una prueba?

La mayoría de las pruebas hacen 3 cosas simples

  • 1. Organizar o inicializar algunos datos.
  • 2. Ejecute una función para actuar sobre estos datos.
  • 3. Verifique o afirme que el resultado coincide con lo que esperábamos.

Intentemos crear una función y probarla. 

Antes de intentar utilizar esta función, crearemos una prueba para ello. php artisan make:test HomeControllerTest

Así que ahora tenemos dos archivos para probar en nuestro directorio de pruebas, tanto el ExampleTest.phpHomeControllerTest.phpHomeControllerTest.phparchivo para probar realmente nuestra addfunción en HomeController.

Lo que estamos haciendo aquí es crear la prueba. test_add()ya que eso es lo que estamos tratando de confirmar. 1 + 1debería ser 2afirmarEquals () . 1 + 1debería ser igual 2, asignamos esto como el primer parámetro para afirmarEquals () . $sumque nuestra add()función devuelve como argumento 2. Probémoslo ejecutando phpunit.

prueba-agregar-pasar
¡Frio! Nuestra prueba está pasando. 

Ahora observe que pasamos 23como argumentos a nuestra add()función. assertEquals()función, nos vamos 2como primer argumento. 2 + 5debería ser igual 2, y sabemos que eso no es 
prueba-agregar-falla
Así es como se ve una prueba de unidad PHP fallida. No se pudo afirmar que se esperaban 5 coincidencias 2 . 

prueba-agregar-pasar-de nuevo

Parece que hemos vuelto a pasar, lo cual es genial.


Pruebas de Aplicación en Laravel

En este punto, sabemos un poco sobre las pruebas con PHP Unit y Laravel. 

1. Escriba el código sudo

  • 1. Visita / pageone
  • 2. Haga clic en el enlace "Página dos"
  • 3. Ver página dos
  • 4. Afirma que la url actual es / pagetwo

2. Escribe la prueba

En este punto, ejecutar phpunit produce una falla completa.
404-prueba-falla
3. Hazlos pasar

Con nuestra prueba en su lugar, comenzamos corriendo phpunit

Hubo 1 falla:

1) ExampleTest :: testBasicExample Ha fallado
una solicitud a [http: // localhost / pageone]. 

Tenemos un error 404, ¿cómo lo solucionamos? 

Ejecutemos phpunit nuevamente. 

Hubo 1 falla:

1) ExampleTest :: testBasicExample Ha fallado
una solicitud a [http: // localhost / pageone]. 

Hmmm ... Normalmente, un código de error 500 es una falla del servidor. 

pageone.blade.php

Ejecutar phpunit nuevamente ahora nos da este error.

Hubo 1 falla:

1) ExampleTest :: testBasicExample Ha fallado
una solicitud a [http: // localhost / pagetwo]. 

Esto tiene sentido, ya que no tenemos una ruta para dos páginas, creémosla.

Ejecutando phpunit nuevamente, y obtenemos otro error. 

Hubo 1 falla:

1) ExampleTest :: testBasicExample Error en
una solicitud a [http: // localhost / pagetwo]. 

Ah, claro, necesitamos agregar una vista para las páginas dos. pagetwo.blade.phpy ejecuta phpunit nuevamente.

Hubo 1 error:

1) ExampleTest :: testBasicExample
InvalidArgumentException: la lista de nodos actual está vacía.

Hmmm, tal vez esto se deba a que todavía no agregamos el texto en la página dos. 

vagrant @ homestead: ~ / Code / lpg $ phpunit
PHPUnit 5.5.2 por Sebastian Bergmann y colaboradores.

Tiempo: 319 ms, Memoria: 10.00MB

OK (1 prueba, 5 afirmaciones)
vagabundo @ homestead: ~ / Code / lpg $

¡Agradable! ¡Ahora está funcionando completamente!

Aunque nuestra prueba solo usó cuatro métodos, hay mucha potencia allí. 

visitar()

hacer clic()

ver()

seePageIs ()


¡Aprenda más sobre las pruebas en Laravel!

  • Prueba de Laravel
  • Comenzando con la unidad PHP en Laravel
  • Prueba conducida de Laravel desde cero
  • Mejores pruebas de integración en Laravel 5.1: Potentes pruebas de integración en unas pocas líneas
  • Buena colección de artículos de prueba
  • Laravel 5 Pruebas de belleza
  • Comenzando con las pruebas unitarias en Laravel

Introducción a las pruebas en el resumen de Laravel

Esta fue una introducción realmente básica para comenzar a probar en Laravel. confianzaConfianza y una inversión en el futuro de su aplicación.

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

outbrain

Páginas