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);