Я создал пользовательский RoleProvider (стандартные веб-формы, без mvc), и я бы хотел его протестировать. Сам провайдер интегрируется с пользовательской реализацией IIdentity (с некоторыми добавленными свойствами).Moq custom IIdentity
я это на данный момент:
var user = new Mock<IPrincipal>();
var identity = new Mock<CustomIdentity>();
user.Setup(ctx => ctx.Identity).Returns(identity.Object);
identity.SetupGet(id => id.IsAuthenticated).Returns(true);
identity.SetupGet(id => id.LoginName).Returns("test");
// IsAuthenticated is the implementation of the IIdentity interface and LoginName
Однако, когда я запускаю этот тест в VS2008, то я получаю следующее сообщение об ошибке:
Неверная установка на не переопределение члена: ид => id.IsAuthenticated
Почему это происходит? И самое главное, что мне нужно сделать, чтобы решить эту проблему?
Grz, Kris.
Что вы подразумеваете под объявлением используемых переменных в качестве виртуальных? Вы имеете в виду сам тест? – XIII
@ XIII добавленный информация.Это должно быть сделано в вашем конкретном классе –
Thx для пояснения. Однако у меня нет доступа к коду пользовательской реализации IIdentity. Есть ли обходной путь? – XIII