Sto riscontrando un problema utilizzando la libreria Moq per deridere un Enum all'interno del mio progetto. Sto provando a testare una classe e uno dei metodi accetta un ENUM. C'è un modo per fare questo?Come utilizzare la libreria MOQ per deridere un ENum
Ecco l'Enum che sto cercando di prendere in giro:
public enum PermissionType
{
Create = 0,
Read = 1,
Update = 2,
Delete = 3,
}
Ecco il codice che sto cercando di utilizzare per creare il mock:
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;
}
Questo è l'errore che ricevo:
System.ArgumentException: Invalid configurazione su un membro non superabile: x => x.HasPermis Sion (It.IsAny(), It.IsAny())
Ho anche provato:
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);
Qualsiasi aiuto sarebbe apprezzato ...
Grazie, ha funzionato !! Risulta che l'ENUM era solo un'aringa rossa ... – Pat