Sobes.tech
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.