Sobes.tech
Junior — Middle

Quando é recomendado usar objetos simulados em testes unitários para imitar dependências?

sobes.tech IA

Resposta da IA

Os objetos mock são utilizados em testes unitários quando é necessário isolar o componente testado das suas dependências. Isto é útil se as dependências:

  • São complexas ou lentas (por exemplo, base de dados, rede).
  • São instáveis ou variáveis.
  • São difíceis de reproduzir num ambiente de teste.

O uso de mocks permite controlar o comportamento das dependências, definir respostas esperadas e verificar interações.

Por exemplo, se tiver uma classe que chama uma API externa, nos testes pode substituir essa chamada por um objeto mock que devolve dados predefinidos, para que o teste seja rápido e previsível.

Em PHP com PHPUnit:

$mock = $this->createMock(ExternalService::class);
$mock->method('fetchData')->willReturn(['key' => 'value']);

$service = new MyService($mock);
$result = $service->process();
$this->assertEquals('expected', $result);