PHP:
Scrivere test

Come fare:

PHP Nativo - PHPUnit

Uno strumento ampiamente utilizzato per i test in PHP è PHPUnit. Installalo tramite Composer:

composer require --dev phpunit/phpunit ^9

Scrivere un test semplice:

Crea un file CalculatorTest.php in una directory tests:

use PHPUnit\Framework\TestCase;

// Assumendo che tu abbia una classe Calculator che somma numeri
class CalculatorTest extends TestCase
{
    public function testAdd()
    {
        $calculator = new Calculator();
        $this->assertEquals(4, $calculator->add(2, 2));
    }
}

Esegui i test con:

./vendor/bin/phpunit tests

Esempio di output:

PHPUnit 9.5.10 di Sebastian Bergmann e contributori.

.                                                                   1 / 1 (100%)

Tempo: 00:00.005, Memoria: 6.00 MB

OK (1 test, 1 asserzione)

Librerie di Terze Parti – Mockery

Per test complessi, inclusi gli oggetti mock, Mockery è una scelta popolare.

composer require --dev mockery/mockery

Integrare Mockery con PHPUnit:

use PHPUnit\Framework\TestCase;
use Mockery as m;

class ServiceTest extends TestCase
{
    public function tearDown(): void
    {
        m::close();
    }

    public function testServiceCallsExternalService()
    {
        $externalServiceMock = m::mock(ExternalService::class);
        $externalServiceMock->shouldReceive('process')->una volta()->eRitorna('risultato simulato');

        $service = new Service($externalServiceMock);
        $result = $service->execute();

        $this->assertEquals('risultato simulato', $result);
    }
}

Per eseguire, utilizza lo stesso comando PHPUnit di sopra. Mockery consente oggetti mock espressivi e flessibili, facilitando il test delle interazioni complesse all’interno della tua applicazione.