У меня проблема с использованием библиотеки Moq для макета Enum в моем проекте. Я пытаюсь проверить класс, и один из методов принимает ENum. Есть какой-либо способ сделать это?
Вот Enum, который я пытаюсь высмеять:
public enum PermissionType
{
Create = 0,
Read = 1,
Update = 2,
Delete = 3,
}
Вот код, который я пытаюсь использовать для создания макета:
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;
}
Это ошибка, которую я получаю:
System.ArgumentException: неверный
настройка на не перезаписываемый элемент: x
=> x.HasPermission (It.IsAny (), It.IsAny ())
Я также пробовал:
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);
Буду признателен за любую помощь ...