Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / PHP / Pruebas Unitarias con PHPUnit

Pruebas Unitarias con PHPUnit

Por jc mouse jueves, octubre 26, 2017

PHPUnit es un framework que se utiliza para escribir tests en PHP, Netbeans nos permite configurarlo y usarlo fácilmente, en este post mostraremos un ejemplo desde su configuración hasta su ejecución, el código de prueba se basara en este post [Caja blanca: Prueba del camino básico], para entender de donde vienen el algoritmo y sus casos de prueba, recomiendo leerlo.

Necesitamos:

Paso 1: Configuración General

Al instalar XAMPP este ya trae consigo PHPUnit pero no phpunit-skelgen, entonces descargar phpunit-skelgen, y coloca el archivo en la dirección X:\xampp\php\

Abre Netbeans y ve al menu Herramientas -> Opciones, clic en la pestaña PHP.

Clic en la pestaña Framework & Tools, busca y selecciona la opción PHPUnit.

Netbeans detecta automáticamente las librerías de PHPUnit y estas deberían estar visibles en esa ventana, pero si no, con el botón «Browse…» busca y selecciona los archivos necesarios tal como se ve en la imagen de abajo

Unit IDE

Presiona «aceptar» para guardar los cambios

Paso 2: Configurar el proyecto en PHP

Crea un nuevo proyecto llamado «MiTestPHP» y añade una clase que llamaremos «MiClase.php»

example php

A continuación clic derecho sobre el proyecto y elegimos «propiedades» (properties), busca la opción «Testing«, activa la opción «PHPUnit» y añade una carpeta con el nombre «Test Files» , para terminar presiona «Aceptar»

Propiedades de proyecto

Paso 3: Código de prueba

El código de prueba corresponde al algoritmo para detectar el numero mayor de 3 números enteros dados.

codex

Anotación @assert:

La anotación assert nos permite indicar los casos de pruebas para el testing y sus resultados esperados, su estructura es la siguiente:

assert

Entonces usando esa anotación debemos indicar los «n» casos que deseamos probar para nuestro método que en esta oportunidad son 4:

annotation asert

Paso 4: Clase de Prueba

Ahora que tenemos listo nuestro código de prueba, debemos generar una clase para su testeo, para esto, clic derecho sobre la clase «MiClase» -> Herramientas -> Create/Update Test, en la ventana que aparece solo presionamos «ok»

herramientas

Se genera una nueva clase donde se genera un método de prueba por casa caso indicado con la anotación @assert

prueba unitaria

Por ejemplo:

mayonesa

Antes de ejecutar la prueba, al principio de la clase debemos escribir:

require ‘../MiClase.php’;

hacemos esto porque ambas clases se encuentran en directorios diferentes, guarda los cambios.

Paso 5: Ejecución de la prueba

Ahora que ya tenemos todo configurado, clic derecho sobre la clase «MiClase» -> Tests o presiona Ctrl + F6

PHPUnit test example

enjoy!!!

Tags

Artículos similares

Personalizar iconos de un JTree

JTree cuenta con métodos que nos permiten cambiar los iconos de cada nodo según su estado, sin embargo a veces esto no e[...]

¿Qué es AngularJS?

Bienvenido a este artículo soy Jose Pedraza Desarrollador Web por más de 7 años, escribiré una serie de artículos para i[...]

Dibujando con Canvas

La clase Canvas (Lienzo)  de Android es una superficie que nos permite pintar figuras, texto e imágenes utilizando para[...]

Trabajando con varios Activitys

Hasta este momento utilizamos un solo Activity para desarrollar nuestras aplicaciones, sin embargo es común que las apli[...]

Tradukisto: Conversión de dinero en palabras

Tradukisto es una biblioteca para Java 8 creada para convertir números enteros o cantidades de dinero a sus equivalentes[...]

Recortar imagen

En esta oportunidad dejo a considerancion un codigo realizado en Java/Netbeans para recortar una imagen visualmente Vide[...]