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