J'ai créé un RoleProvider personnalisé (webforms standard, pas mvc) et je voudrais le tester. Le fournisseur lui-même s'intègre à une implémentation personnalisée de IIdentity (avec quelques propriétés ajoutées).Moq custom IIdentity
J'ai ce au moment:
var user = new Mock<IPrincipal>();
var identity = new Mock<CustomIdentity>();
user.Setup(ctx => ctx.Identity).Returns(identity.Object);
identity.SetupGet(id => id.IsAuthenticated).Returns(true);
identity.SetupGet(id => id.LoginName).Returns("test");
// IsAuthenticated is the implementation of the IIdentity interface and LoginName
Cependant quand je lance ce test dans VS2008 puis je reçois le message d'erreur suivant:
configuration non valide sur un membre non-substituable: id => id.IsAuthenticated
Pourquoi cela se produit-il? Et le plus important, que dois-je faire pour le résoudre?
Grz, Kris.
Que voulez-vous dire par déclarer les variables utilisées en tant que virtuelles? Tu veux dire dans mon test lui-même? – XIII
@XIII explication ajoutée.Cela devrait être fait dans votre classe concrète –
Thx pour explication. Cependant, je n'ai pas accès au code de l'implémentation IIdentity personnalisée. Y at-il un travail autour? – XIII