Junior — Middle
Երբ է խորհուրդ տրվում օգտագործել մոկ-օբյեկտներ միավորային թեստերում կախվածությունները իմիտացիայի համար?
sobes.tech AI
Պատասխան AI-ից
Մոկ-օբյեկտները օգտագործվում են միավորային փորձարկումներում, երբ անհրաժեշտ է առանձնացնել փորձարկվող բաղադրիչը նրա կախվածություններից: Սա օգտակար է, եթե՝
- Կախվածությունները բարդ կամ դանդաղ են (օրինակ՝ տվյալների բազա, ցանց):
- Անկայուն կամ փոփոխական են:
- Կրկնօրինակել նրանց փորձարկման միջավայրում դժվար է:
Մոկների օգտագործումը թույլ է տալիս վերահսկել կախվածությունների վարքը, սահմանել սպասվող պատասխաններ և ստուգել փոխազդեցությունները:
Օրինակ, եթե ունեք դաս, որը զանգահարում է արտաքին API, փորձարկումներում կարող եք այդ զանգը փոխարինել մոկ-օբյեկտով, որը վերադարձնում է նախապես սահմանված տվյալներ, որպեսզի փորձարկումը լինի արագ և կանխատեսելի:
PHP-ում PHPUnit-ով:
$mock = $this->createMock(ExternalService::class);
$mock->method('fetchData')->willReturn(['key' => 'value']);
$service = new MyService($mock);
$result = $service->process();
$this->assertEquals('expected', $result);