Sobes.tech
Junior — Middle

Bağımlılıqları təqlid etmək üçün vahid testlərdə mock obyektlərinin istifadəsi nə vaxt tövsiyə olunur?

sobes.tech Süni İntellekt

AI-dan cavab

Mock obyektlər, test olunan komponenti onun asılılıqlarından ayırmaq lazım olduqda istifadə olunur. Bu, asılılıqlar:

  • Çətin və ya yavaş (məsələn, verilənlər bazası, şəbəkə).
  • Sabit olmayan və ya dəyişkən.
  • Test mühitində təkrarlamaq çətindir.

Mockların istifadəsi, asılılıqların davranışını idarə etməyə, gözlənilən cavabları təyin etməyə və qarşılıqlı əlaqələri yoxlamağa imkan verir.

Məsələn, əgər sizdə xarici API çağıran sinif varsa, testlərdə bu çağırışı əvvəlcədən təyin olunmuş məlumatlar verən mock obyekt ilə əvəz edə bilərsiniz ki, test sürətli və proqnozlaşdırıla bilən olsun.

PHP-də PHPUnit istifadə edərək:

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

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