8
//Assert
Lazy<INotificationService> notificationService = Substitute.For<Lazy<INotificationService>>();
Service target = new Service(repository, notificationService);
//Act
target.SendNotify("Message");
//Arrange
notificationService.Received().Value.sendNotification(null, null, null, null);
Il codice precedente genera un'eccezione.Come utilizzare NSubstitute per deridere una classe pigra
Il tipo pigramente-inizializzato non ha un pubblico, costruttore senza parametri
Sto usando C# 4.0 e NSubstitute 1.2.1
Davvero vuoi sostituire il Lazy? Immagino che Lazy <> lavori e usi il costruttore Value Factory di esso, fornendo Substitute.Per () come Value Factory ... –
sanosdole
+1 al commento di @ sanosdole. Ho postato questa risposta come wiki della comunità. –