PHP:
Tests Schreiben

Wie:

Native PHP – PHPUnit

Ein weit verbreitetes Werkzeug für Tests in PHP ist PHPUnit. Installieren Sie es über Composer:

composer require --dev phpunit/phpunit ^9

Einen einfachen Test schreiben:

Erstellen Sie eine Datei CalculatorTest.php im Verzeichnis tests:

use PHPUnit\Framework\TestCase;

// Angenommen, Sie haben eine Calculator-Klasse, die Zahlen addiert
class CalculatorTest extends TestCase
{
    public function testAdd()
    {
        $calculator = new Calculator();
        $this->assertEquals(4, $calculator->add(2, 2));
    }
}

Führen Sie die Tests mit folgendem Befehl aus:

./vendor/bin/phpunit tests

Beispiel-Ausgabe:

PHPUnit 9.5.10 von Sebastian Bergmann und Mitwirkenden.

.                                                                   1 / 1 (100%)

Zeit: 00:00.005, Speicher: 6.00 MB

OK (1 Test, 1 Behauptung)

Drittanbieter-Bibliotheken – Mockery

Für komplexe Tests, einschließlich des Mockings von Objekten, ist Mockery eine beliebte Wahl.

composer require --dev mockery/mockery

Integration von Mockery mit 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')->once()->andReturn('gemocktes Ergebnis');

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

        $this->assertEquals('gemocktes Ergebnis', $result);
    }
}

Zum Ausführen verwenden Sie denselben PHPUnit-Befehl wie oben. Mockery ermöglicht ausdrucksstarke und flexible Mock-Objekte, was das Testen von komplexen Interaktionen innerhalb Ihrer Anwendung erleichtert.