PHP:
Письмо тестів
Як робити:
Рідний PHP – PHPUnit
Популярним інструментом для тестування в PHP є PHPUnit. Встановіть його через Composer:
composer require --dev phpunit/phpunit ^9
Написання простого тесту:
Створіть файл CalculatorTest.php
у директорії tests
:
use PHPUnit\Framework\TestCase;
// Припустимо, у вас є клас Calculator, який додає числа
class CalculatorTest extends TestCase
{
public function testAdd()
{
$calculator = new Calculator();
$this->assertEquals(4, $calculator->add(2, 2));
}
}
Запустіть тести за допомогою:
./vendor/bin/phpunit tests
Приклад виводу:
PHPUnit 9.5.10 від Sebastian Bergmann та співавторів.
. 1 / 1 (100%)
Час: 00:00.005, Пам'ять: 6.00 MB
OK (1 тест, 1 справдження)
Сторонні бібліотеки – Mockery
Для складних тестувань, включно з макетуванням об’єктів, популярним вибором є Mockery.
composer require --dev mockery/mockery
Інтеграція Mockery з 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('mocked result');
$service = new Service($externalServiceMock);
$result = $service->execute();
$this->assertEquals('mocked result', $result);
}
}
Для запуску використовуйте ту саму команду PHPUnit, що й вище. Mockery дозволяє з легкістю створювати виразні та гнучкі макети об’єктів, полегшуючи тестування складних взаємодій у вашому застосунку.