5
我在使用Moq库模拟我的项目中的Enum时遇到了问题。我试图测试一个类,其中一种方法接受ENum。有没有办法做到这一点?如何使用MOQ库来模拟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.HasPermis锡永(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);
任何帮助,将不胜感激......
谢谢,这工作!原来ENum只是一个红鲱鱼...... – Pat 2009-10-09 15:54:17