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