Junior — Middle
Mikor ajánlott mock-objektumokat alkalmazni egységtesztekben a függőségek szimulálására?
sobes.tech MI
Válasz az MI-től
A mock-objektumokat egységtesztekben használják, amikor a tesztelt komponens el van választva a függőségeitől. Ez akkor hasznos, ha:
- A függőségek összetettek vagy lassúak (pl. adatbázis, hálózat).
- Instabilak vagy változékonyak.
- Nehéz őket reprodukálni tesztkörnyezetben.
A mockok használatával kontrollálhatjuk a függőségek viselkedését, beállíthatjuk a várt válaszokat és ellenőrizhetjük az interakciókat.
Például, ha van egy osztályod, amely külső API-t hív, a tesztekben ezt a hívást helyettesítheted egy előre definiált adatokkal visszatérő mock objektummal, így a teszt gyors és kiszámítható lesz.
PHP-ben PHPUnit használatával:
$mock = $this->createMock(ExternalService::class);
$mock->method('fetchData')->willReturn(['key' => 'value']);
$service = new MyService($mock);
$result = $service->process();
$this->assertEquals('expected', $result);