Sobes.tech
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);