PHP:
Pisanie testów
Jak to zrobić:
Natywny PHP – PHPUnit
Szeroko używanym narzędziem do testowania w PHP jest PHPUnit. Zainstaluj go za pomocą Composera:
composer require --dev phpunit/phpunit ^9
Pisanie prostego testu:
Utwórz plik CalculatorTest.php
w katalogu tests
:
use PHPUnit\Framework\TestCase;
// Zakładając, że masz klasę Calculator, która dodaje liczby
class CalculatorTest extends TestCase
{
public function testAdd()
{
$calculator = new Calculator();
$this->assertEquals(4, $calculator->add(2, 2));
}
}
Uruchom testy za pomocą:
./vendor/bin/phpunit tests
Przykładowe wyjście:
PHPUnit 9.5.10 autorstwa Sebastiana Bergmanna i współpracowników.
. 1 / 1 (100%)
Czas: 00:00.005, Pamięć: 6.00 MB
OK (1 test, 1 twierdzenie)
Biblioteki firm trzecich – Mockery
Do skomplikowanego testowania, w tym mockowania obiektów, popularnym wyborem jest Mockery.
composer require --dev mockery/mockery
Integracja Mockery z 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('przekształcony wynik');
$service = new Service($externalServiceMock);
$wynik = $service->execute();
$this->assertEquals('przekształcony wynik', $wynik);
}
}
Do uruchomienia użyj tego samego polecenia PHPUnit co powyżej. Mockery pozwala na ekspresyjne i elastyczne obiekty mock, ułatwiając testowanie skomplikowanych interakcji w ramach aplikacji.