FuelPHP - Test unitario

Lo unit test è un processo essenziale nello sviluppo di grandi progetti. Unit testsaiutare ad automatizzare il test dei componenti dell'applicazione in ogni fase dello sviluppo. Avvisa quando il componente dell'applicazione non funziona in base alle specifiche aziendali del progetto. Gli unit test possono essere eseguiti manualmente, ma spesso sono automatizzati.

PHPUnit

Il framework FuelPHP si integra con il framework di test PHPUnit. Per scrivere uno unit test per il framework FuelPHP, dobbiamo configurare PHPUnit. Se PHPUnit non è installato, scaricalo e installalo. Possiamo confermare la disponibilità di PHPUnit nel nostro sistema utilizzando il seguente comando.

phpunit --version

Se PHPUnit è disponibile, vedrai il risultato simile al seguente.

PHPUnit 5.1.3 by Sebastian Bergmann and contributors.

Creazione di unit test

La posizione standard fornita da FuelPHP per scrivere unit test è carburante / app / test. Possiamo scrivere lo unit test per controller, modello, visualizzazione e presentatori in cartelle separate. Scriviamo uno unit test per convalidare l'oggetto Model_Employee.

  • Step 1 - Crea una cartella, modello nella cartella carburante / app / test.

  • Step 2 - Crea un file, dipendente.php sotto fuel / app / tests / model / folder.

  • Step 3 - Crea una nuova classe di test, Test_Model_Employee estendendo la classe TestCase fornita da PHPUnit.

  • Step 4 - Scrivi un metodo, testInstanceOfEmployee () per assegnare risorse alla creazione dell'oggetto dipendente utilizzando il metodo assertInstanceOf () fornito dalla classe TestCase di PHPUnit.

Di seguito è riportato il codice completo -

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

Creazione di un gruppo di test

FuelPHP offre un'opzione per creare un gruppo di casi di test. Creare un gruppo è semplice come aggiungere l'attributo docblock, @group. Includiamo il nostro caso di test all'interno del gruppo MyTest.

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

Esegui test

Per eseguire tutti i test nella directory, utilizzare il seguente comando.

$ php oil test

Per eseguire un gruppo specifico di test, utilizzare il seguente comando.

$ php oil test --group = MyTest

Dopo aver eseguito il comando, riceverai la seguente risposta.

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)