Junior — Middle
Kus rakendatakse objektide käitumise loogikat testides?
sobes.tech AI
Vastus AI-lt
Testide objektide käitumise loogika realiseeritakse tavaliselt mockide või stubide abil. Need on spetsiaalsed objektid, mis imiteerivad tegelike sõltuvuste käitumist, võimaldades kontrollida nende vastuseid ja kontrollida interaktsioone.
C#-s kasutatakse sageli raamatukogusid nagu Moq. Testides luuakse mock-objektid, konfigureeritakse nende käitumist (näiteks, mida meetod peaks tagastama) ja kontrollitakse, kas testitav objekt suhtleb nendega õigesti.
Näide Moq-ga:
var mockRepository = new Mock<IRepository>();
mockRepository.Setup(r => r.GetData()).Returns("Testandmed");
var service = new MyService(mockRepository.Object);
var result = service.ProcessData();
mockRepository.Verify(r => r.GetData(), Times.Once);
Assert.AreEqual("Töödeldud: Testandmed", tulemus);
Sellisel viisil realiseeritakse objektide käitumise loogika testides mock-ide käitumise konfiguratsiooni ja kontrolli kaudu, mitte reaalseid implementatsioone kasutades.