Haremos una revisión de los diferentes tests que se pueden integrar en PHP mediante el Framework PHPUnit. Descubriendo qué es necesario cubrir en los niveles inferiores del desarrollo y cómo ejecutarlos.
Este curso se puede complementar con casos prácticos en modalidad taller en días posteriores sobre proyectos indicados por el solicitante.
Requisitos
- Conocimiento de PHP (medio)
- Conocimiento de Orientación a Objetos (medio)
- Manejo de terminal (básico)
- Tener PHP / Composer instalado
- Tener un IDE instalado (PHPStorm, Netbeans, Visual Studio Code)
What you will learn
Course modules
Introducción
Revisamos los diferentes tests que se pueden integrar en PHP usando el framework PHPUnit, y qué debe cubrirse en los niveles más bajos del desarrollo.
Configuración del entorno de trabajo local
Preparando la máquina para ejecutar pruebas: instalando PHPUnit con Composer y configurando el IDE para lanzarlas y leer los resultados.
- Composer
- Configuración del IDE
Fundamentos
Los componentes básicos de una prueba: aserciones, cómo combinarlas y las convenciones que mantienen legible un conjunto de pruebas.
- Introducción a las aserciones
- Uso de múltiples aserciones
- Corrección de errores mediante pruebas
- Convenciones de nomenclatura y estándares
Configuración XML de PHPUnit
De dónde lee PHPUnit su configuración y cómo adaptar el archivo de configuración XML al proyecto.
Dependencias de prueba, accesorios y excepciones
Controlando el estado que necesita una prueba: dependencias entre pruebas, configuración y limpieza, fixtures, y comprobación de que se lanzan excepciones.
- Dependencias entre pruebas
- Configuración y desmontaje
- Accesorios de prueba
- Pruebas de excepciones
Mocks y stubs
Aislando el código bajo prueba de sus dependencias externas mediante objetos simulados, inyección de dependencias y el framework Mockery.
- Creación de objetos simulados para evitar dependencias externas
- Inyección de dependencias
- Mockery - Framework
TDD - Desarrollo Guiado por Pruebas
Convertir las pruebas en un método de desarrollo: escribir la prueba antes del código y utilizarla para guiar y refactorizar la implementación.
- Escribir pruebas antes del código
- Desarrollo dirigido por pruebas
- Refactorización del código con pruebas
Prueba avanzada
Cómo acceder a las partes de una clase que no son directamente accesibles: métodos y atributos protegidos y privados, y métodos estáticos.
- Métodos protegidos / privados
- Atributos protegidos / privados
- Métodos estáticos
Conclusiones
Resumen de lo cubierto y cómo seguir aplicándolo al código del propio proyecto.
