Junior — Middle
Lze použít mock-objekty k napodobení kontextu během testování?
sobes.tech AI
Odpověď od AI
Ano, mock objekty jsou široce používány k simulaci kontextu během testování v C#. To umožňuje izolovat testovaný kód od externích závislostí, jako jsou databáze, webové služby nebo složité objekty kontextu.
Například při testování metody, která závisí na kontextu databáze (například DbContext v Entity Framework), lze vytvořit mock objekt tohoto kontextu, aby bylo možné kontrolovat vrácená data a chování, aniž by bylo nutné přistupovat k reálné databázi.
Příklad s Moq:
var mockContext = new Mock<MyDbContext>();
// Nastavení chování 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 způsobem umožňují mock objekty vytvářet kontrolované prostředí pro testování, čímž zvyšují spolehlivost a rychlost testů.