Sobes.tech
Junior — Middle

Ar galėtumėte paaiškinti, kas yra Mock ir kokiais atvejais jis naudojamas testavime?

sobes.tech AI

Atsakymas iš AI

Mock yra objektas, kuris imituoja tikro objekto elgseną testuose. Jis naudojamas testuojamo kodo izoliacijai nuo išorinių priklausomybių, kad būtų galima patikrinti logiką be išorinių veiksnių įtakos.

Pavyzdys: jei metodas priklauso nuo duomenų bazės, vietoje tikro ryšio sukuriamas Mock, kuris grąžina iš anksto nustatytus duomenis.

C# dažnai naudojamos bibliotekos, tokios kaip Moq, tokių objektų kūrimui:

var mockRepository = new Mock<IRepository>();
mockRepository.Setup(repo => repo.GetData()).Returns(new List<string> { "test1", "test2" });

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

// Rezultato tikrinimas be prisijungimo prie tikros duomenų bazės