Junior — Middle
Dove viene implementata la logica di comportamento degli oggetti nei test?
sobes.tech AI
Risposta dell'AI
La logica di comportamento degli oggetti nei test viene generalmente implementata utilizzando mock o stub. Questi sono oggetti speciali che imitano il comportamento delle dipendenze reali, consentendo di controllare le loro risposte e verificare le interazioni.
In C#, si usano spesso librerie come Moq. Nei test, si creano oggetti mock, si configura il loro comportamento (ad esempio, cosa deve restituire un metodo) e si verifica che l'oggetto testato interagisca correttamente con essi.
Esempio con Moq:
var mockRepository = new Mock<IRepository>();
mockRepository.Setup(r => r.GetData()).Returns("Dati di test");
var service = new MyService(mockRepository.Object);
var result = service.ProcessData();
mockRepository.Verify(r => r.GetData(), Times.Once);
Assert.AreEqual("Processato: Dati di test", result);
In questo modo, la logica di comportamento degli oggetti nei test viene realizzata tramite la configurazione e la verifica del comportamento dei mock, e non tramite implementazioni reali.