PHP:
Escribiendo pruebas
Cómo hacerlo:
PHP Nativo – PHPUnit
Una herramienta ampliamente utilizada para pruebas en PHP es PHPUnit. Instálalo vía Composer:
composer require --dev phpunit/phpunit ^9
Escribiendo una prueba simple:
Crea un archivo CalculatorTest.php
en un directorio tests
:
use PHPUnit\Framework\TestCase;
// Asumiendo que tienes una clase Calculator que suma números
class CalculatorTest extends TestCase
{
public function testAdd()
{
$calculator = new Calculator();
$this->assertEquals(4, $calculator->add(2, 2));
}
}
Ejecuta las pruebas con:
./vendor/bin/phpunit tests
Salida de muestra:
PHPUnit 9.5.10 por Sebastian Bergmann y contribuyentes.
. 1 / 1 (100%)
Tiempo: 00:00.005, Memoria: 6.00 MB
OK (1 prueba, 1 afirmación)
Bibliotecas de Terceros – Mockery
Para pruebas complejas, incluyendo el mocking de objetos, Mockery es una opción popular.
composer require --dev mockery/mockery
Integrando 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')->once()->andReturn('mocked result');
$service = new Service($externalServiceMock);
$result = $service->execute();
$this->assertEquals('mocked result', $result);
}
}
Para ejecutar, utiliza el mismo comando de PHPUnit que arriba. Mockery permite objetos mock expresivos y flexibles, facilitando la prueba de interacciones complejas dentro de tu aplicación.