Junior — Middle
Gde se u testovima implementira logika ponašanja objekata?
sobes.tech АИ
Одговор од АИ
Logika ponašanja objekata u testovima obično se implementira pomoću mockova ili stubova. To su posebni objekti koji imitiraju ponašanje stvarnih zavisnosti, omogućavajući kontrolu njihovih odgovora i proveru interakcija.
U C#-u se često koriste biblioteke poput Moq. U testovima se kreiraju mock objekti, konfigurišu njihovo ponašanje (na primer, šta metoda treba da vrati) i proverava se da li testirani objekat ispravno sarađuje sa njima.
Primer sa Moq:
var mockRepository = new Mock<IRepository>();
mockRepository.Setup(r => r.GetData()).Returns("Test podaci");
var service = new MyService(mockRepository.Object);
var result = service.ProcessData();
mockRepository.Verify(r => r.GetData(), Times.Once);
Assert.AreEqual("Obrađeno: Test podaci", result);
Na ovaj način, logika ponašanja objekata u testovima realizuje se putem konfiguracije i provere ponašanja mock objekata, a ne putem stvarnih implementacija.