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