Junior — Middle
Kedy sa odporúča použiť mock objekty v jednotkových testoch na simuláciu závislostí?
sobes.tech AI
Odpoveď od AI
Objekty mock sa používajú v jednotkových testoch, keď je potrebné izolovať testovanú zložku od jej závislostí. Toto je užitočné, ak:
- Závislosti sú zložité alebo pomalé (napríklad databáza, sieť).
- Sú nestabilné alebo premenlivé.
- Je ťažké ich reprodukovať v testovacom prostredí.
Použitím mockov môžete kontrolovať správanie závislostí, nastavovať očakávané odpovede a overovať interakcie.
Napríklad, ak máte triedu, ktorá volá externé API, v testoch môžete túto volanie nahradiť mock objektom, ktorý vracia vopred stanovené údaje, aby bol test rýchly a predvídateľný.
V PHP s PHPUnit:
$mock = $this->createMock(ExternalService::class);
$mock->method('fetchData')->willReturn(['key' => 'value']);
$service = new MyService($mock);
$result = $service->process();
$this->assertEquals('expected', $result);