Junior — Middle
Gdzie w testach jest zaimplementowana logika zachowania obiektów?
sobes.tech AI
Odpowiedź od AI
Logika zachowania obiektów w testach jest zwykle realizowana za pomocą mocków lub stubów. Są to specjalne obiekty, które imitują zachowanie rzeczywistych zależności, umożliwiając kontrolowanie ich odpowiedzi i sprawdzanie interakcji.
W C# często używa się bibliotek takich jak Moq. W testach tworzy się obiekty mock, konfiguruje ich zachowanie (np. co metoda powinna zwrócić) i sprawdza, czy testowany obiekt poprawnie z nimi współdziała.
Przykład z Moq:
var mockRepository = new Mock<IRepository>();
mockRepository.Setup(r => r.GetData()).Returns("Dane testowe");
var service = new MyService(mockRepository.Object);
var result = service.ProcessData();
mockRepository.Verify(r => r.GetData(), Times.Once);
Assert.AreEqual("Przetworzono: Dane testowe", result);
W ten sposób logika zachowania obiektów w testach realizowana jest poprzez konfigurację i sprawdzanie zachowania mocków, a nie przez rzeczywiste implementacje.