Junior — Middle
Je možné použiť mock objekty na simuláciu kontextu počas testovania?
sobes.tech AI
Odpoveď od AI
Áno, mock objekty sa široko používajú na simuláciu kontextu počas testovania v C#. To umožňuje izolovať testovaný kód od externých závislostí, ako sú databázy, webové služby alebo zložité objekty kontextu.
Napríklad, pri testovaní metódy, ktorá závisí od kontextu databázy (napríklad DbContext v Entity Framework), je možné vytvoriť mock objekt tohto kontextu, aby sa kontrolovali vracané údaje a správanie, bez prístupu k reálnej databáze.
Príklad s Moq:
var mockContext = new Mock<MyDbContext>();
// Nastavenie správania mockContext
mockContext.Setup(c => c.Entities.Find(It.IsAny<int>())).Returns(new Entity { Id = 1, Name = "Test" });
var service = new MyService(mockContext.Object);
var result = service.GetEntity(1);
Assert.Equal("Test", result.Name);
Týmto spôsobom umožňujú mock objekty vytvárať kontrolované prostredie pre testovanie, čím zvyšujú spoľahlivosť a rýchlosť testov.