PHP:
Escrevendo testes
Como fazer:
PHP Nativo – PHPUnit
Uma ferramenta amplamente utilizada para testes em PHP é o PHPUnit. Instale-a via Composer:
composer require --dev phpunit/phpunit ^9
Escrevendo um teste simples:
Crie um arquivo CalculatorTest.php
em um diretório tests
:
use PHPUnit\Framework\TestCase;
// Supondo que você tenha uma classe Calculator que adiciona números
class CalculatorTest extends TestCase
{
public function testAdd()
{
$calculator = new Calculator();
$this->assertEquals(4, $calculator->add(2, 2));
}
}
Execute os testes com:
./vendor/bin/phpunit tests
Saída de exemplo:
PHPUnit 9.5.10 por Sebastian Bergmann e contribuidores.
. 1 / 1 (100%)
Tempo: 00:00.005, Memória: 6.00 MB
OK (1 teste, 1 afirmação)
Bibliotecas de Terceiros – Mockery
Para testes complexos, incluindo a simulação de objetos, Mockery é uma escolha popular.
composer require --dev mockery/mockery
Integrando o Mockery com 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('resultado simulado');
$service = new Service($externalServiceMock);
$resultado = $service->execute();
$this->assertEquals('resultado simulado', $resultado);
}
}
Para executar, use o mesmo comando do PHPUnit acima. O Mockery permite objetos simulados expressivos e flexíveis, facilitando o teste de interações complexas dentro da sua aplicação.