Junior — Middle
Hol valósul meg az objektumok viselkedésének logikája a tesztekben?
sobes.tech MI
Válasz az MI-től
A tesztekben az objektumok viselkedésének logikáját általában mock vagy stub segítségével valósítják meg. Ezek speciális objektumok, amelyek utánozzák a valódi függőségek viselkedését, lehetővé téve válaszaik irányítását és az interakciók ellenőrzését.
C#-ban gyakran használnak olyan könyvtárakat, mint például a Moq. A tesztekben mock objektumokat hoznak létre, konfigurálják viselkedésüket (például, hogy mit kell visszaadniuk egy metódusnak), és ellenőrzik, hogy a tesztelt objektum helyesen lép-e velük kapcsolatba.
Moq példával:
var mockRepository = new Mock<IRepository>();
mockRepository.Setup(r => r.GetData()).Returns("Tesztadatok");
var service = new MyService(mockRepository.Object);
var result = service.ProcessData();
mockRepository.Verify(r => r.GetData(), Times.Once);
Assert.AreEqual("Feldolgozva: Tesztadatok", result);
Így a tesztekben az objektumok viselkedésének logikája a mock-ok viselkedésének konfigurálásával és ellenőrzésével valósul meg, nem valódi implementációkkal.