Junior — Middle
Wo wird die Verhaltenslogik der Objekte in den Tests implementiert?
sobes.tech KI
Antwort von AI
Das Verhalten von Objekten in Tests wird in der Regel durch Mocks oder Stubs realisiert. Dabei handelt es sich um spezielle Objekte, die das Verhalten echter Abhängigkeiten nachahmen, um deren Antworten zu kontrollieren und Interaktionen zu überprüfen.
In C# werden dafür häufig Bibliotheken wie Moq verwendet. In Tests werden Mock-Objekte erstellt, ihr Verhalten konfiguriert (z.B. was eine Methode zurückgeben soll) und überprüft, ob das zu testende Objekt korrekt mit ihnen interagiert.
Beispiel mit Moq:
var mockRepository = new Mock<IRepository>();
mockRepository.Setup(r => r.GetData()).Returns("Testdaten");
var service = new MyService(mockRepository.Object);
var result = service.ProcessData();
mockRepository.Verify(r => r.GetData(), Times.Once);
Assert.AreEqual("Verarbeitet: Testdaten", result);
Auf diese Weise wird die Verhaltenslogik der Objekte in Tests durch die Konfiguration und Überprüfung des Verhaltens der Mocks umgesetzt, nicht durch echte Implementierungen.