Test d'unité Dapper Update

dapper extension-methods moq nunit unit-testing

Question

Database.Setup(x => x.Update(It.IsAny<Subscription>()))
                    .Callback<object>(sub => SavedSubscription = sub as Subscription);

Cette ligne fonctionne avec PetaPoco. A cause des exigences du projet, j'ai dû passer à Dapper (et aussi ajouter DapperExtensions pour avoir les méthodes CRUD) alors je reçois maintenant cette erreur:

Un arbre d'expression ne peut pas contenir d'appel ou d'invocation utilisant des arguments facultatifs

Des idées pour gérer cela?

Réponse populaire

Vous ne pouvez pas utiliser Moq pour se moquer des méthodes qui ont des paramètres facultatifs (comme Update à Update fait ). Consultez cette question pour plus de détails, même si vous êtes bloqué en spécifiant tous les paramètres de la méthode Update .

Notez que ceci est une limitation inhérente au framework et non Moq; vous ne pouvez pas transmettre une méthode avec un paramètre par défaut à une Expression . Jon Skeet montre bien pourquoi ici .




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi