ile karşılaştırmak için MOQ kütüphanesi nasıl kullanılır Projemde bir Enum ile alay etmek için Moq kütüphanesini kullanarak bir sorun yaşıyorum. Bir sınıfı test etmeye çalışıyorum ve yöntemlerden biri bir ENUM kabul ediyor. Bunu yapmanın bir yolu var mı? Sahte İşte Bir ENUM
public enum PermissionType
{
Create = 0,
Read = 1,
Update = 2,
Delete = 3,
}
Ben oluşturmak için kullanmaya çalışıyorum kodu:
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;
}
Bu hatadır Aldığım: Burada
ben alay çalışıyorum Enum olduğunuSystem.ArgumentException: olmayan bir geçersiz kılınabilir üyesinde Geçersiz kurulumu: x => x.HasPermis sion (It.IsAny(), It.IsAny())
Ben de denedim:
Herhangi bir yardım mutluluk duyacağız
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);
...
Teşekkürler, bu işe yaradı! ENUM, sadece kırmızı bir ringa balığı ... – Pat