FuelPHP - Prueba unitaria

La prueba unitaria es un proceso esencial en el desarrollo de grandes proyectos. Unit testsayudan a automatizar las pruebas de los componentes de la aplicación en cada etapa del desarrollo. Alerta cuando el componente de la aplicación no está funcionando de acuerdo con la especificación comercial del proyecto. Las pruebas unitarias se pueden realizar manualmente, pero a menudo se automatizan.

PHPUnit

El marco FuelPHP se integra con el marco de pruebas PHPUnit. Para escribir una prueba unitaria para el framework FuelPHP, necesitamos configurar PHPUnit. Si PHPUnit no está instalado, descárguelo e instálelo. Podemos confirmar la disponibilidad de PHPUnit en nuestro sistema usando el siguiente comando.

phpunit --version

Si PHPUnit está disponible, verá un resultado similar al siguiente.

PHPUnit 5.1.3 by Sebastian Bergmann and contributors.

Creación de pruebas unitarias

La ubicación estándar proporcionada por FuelPHP para escribir la prueba unitaria es fuel / app / tests. Podemos escribir la prueba unitaria para controlador, modelo, vista y presentadores en carpetas separadas. Escribamos una prueba unitaria para validar el objeto Model_Employee.

  • Step 1 - Cree una carpeta, modelo en la carpeta fuel / app / tests.

  • Step 2 - Cree un archivo, employee.php en la carpeta fuel / app / tests / model /.

  • Step 3 - Cree una nueva clase de prueba, Test_Model_Employee ampliando la clase TestCase proporcionada por PHPUnit.

  • Step 4 - Escriba un método, testInstanceOfEmployee () para activar la creación del objeto del empleado utilizando el método assertInstanceOf () proporcionado por la clase TestCase de PHPUnit.

A continuación se muestra el código completo:

<?php  
   class Test_Model_Employee extends TestCase { 
      public function testInstanceOfEmployee() { 
         $this->assertInstanceOf(Model_Employee::class, new Model_Employee()); 
      } 
   }

Crear un grupo de prueba

FuelPHP ofrece una opción para crear un grupo de casos de prueba. Crear un grupo es tan simple como agregar el atributo docblock, @group. Incluyamos nuestro caso de prueba dentro del grupo MyTest.

<?php   
   /** 
      * @group MyTest 
   */ 
   class Test_Model_Employee extends TestCase { 
      public function testInstanceOfEmployee() { 
         $this->assertInstanceOf(Model_Employee::class, new Model_Employee()); 
      } 
   }

Ejecutar prueba

Para ejecutar todas las pruebas en el directorio, use el siguiente comando.

$ php oil test

Para ejecutar un grupo específico de pruebas, use el siguiente comando.

$ php oil test --group = MyTest

Después de ejecutar el comando, recibirá la siguiente respuesta.

Tests Running...This may take a few moments.
PHPUnit 5.1.3 by Sebastian Bergmann and contributors.
                                        1 / 1 (100%).
Time: 123 ms, Memory: 8.00Mb
OK (1 test, 1 assertion)