J'ai un problème avec la bibliothèque Moq pour simuler un Enum dans mon projet. J'essaie de tester une classe et l'une des méthodes accepte un ENum. Est-ce qu'il y a un moyen de faire ça?Comment utiliser la bibliothèque MOQ pour simuler un ENum
Voici le Enum que je suis en train de se moquer:
public enum PermissionType
{
Create = 0,
Read = 1,
Update = 2,
Delete = 3,
}
Voici le code que je suis en train d'utiliser pour créer la maquette:
private static Mock<PermissionService> GetMockPermissionService(bool hasPermissions)
{
var mockPermissionService = new Mock<PermissionService>();
mockPermissionService.Setup(x => x.HasPermission(It.IsAny<string>(),
**It.IsAny<PermissionType>()**)).Returns(hasPermissions);
return mockPermissionService;
}
C'est l'erreur que je reçois:
System.ArgumentException: Invalid configuration sur un élément non-substituable: x = > x.HasPermis sion (It.IsAny(), It.IsAny())
J'ai aussi essayé:
mockPermissionService.Setup(x => x.HasPermission(It.IsAny<string>(),
**It.IsAny<int>()**)).Returns(hasPermissions);
mockPermissionService.Setup(x => x.HasPermission(It.IsAny<string>(),
**PermissionType.Read**)).Returns(hasPermissions);
Toute aide serait appréciée ...
Merci, cela a fonctionné !! Il s'avère que l'ENum était juste un rouge-hareng ... – Pat