Sobes.tech
Junior — Middle

Testlərdə obyektlərin davranış məntiqi harada həyata keçirilir?

sobes.tech Süni İntellekt

AI-dan cavab

Testlərdə obyektlərin davranış məntiqi adətən mock və ya stub vasitəsilə həyata keçirilir. Bunlar, real asılılıqların davranışını təqlid edən xüsusi obyektlərdir və onların cavablarını idarə etməyə və qarşılıqlı əlaqələri yoxlamağa imkan verir.

C#-da bunun üçün tez-tez Moq kimi kitabxanalardan istifadə olunur. Testlərdə, mock obyektlər yaradılır, onların davranışı konfiqurasiya edilir (məsələn, metodun nə qaytarması lazım olduğunu) və test olunan obyektin onlarla düzgün qarşılıqlı əlaqədə olub-olmadığı yoxlanılır.

Moq ilə nümunə:

var mockRepository = new Mock<IRepository>();
mockRepository.Setup(r => r.GetData()).Returns("Test məlumatları");

var service = new MyService(mockRepository.Object);
var result = service.ProcessData();

mockRepository.Verify(r => r.GetData(), Times.Once);
Assert.AreEqual("İşlənmiş: Test məlumatları", result);

Bu şəkildə, testlərdə obyektlərin davranış məntiqi mock obyektlərin konfiqurasiyası və yoxlaması vasitəsilə həyata keçirilir, real tətbiqlərlə deyil.