Я пытаюсь создать макет HttpContextBase для модульного теста.
var fakePrinciple = new GenericPrincipal(
new GenericIdentity(userId),
rolesList.ToArray());
var mockHttpContext = new Mock<HttpContextBase>();
mockHttpContext.Setup(t => t.User).Returns(fakePrinciple);
HttpContextBase mockedContext = mockHttpContext.Object;
Модульный тест завершается неудачно при последнем утверждении с
бросил исключение:
System.ArgumentException: невозможно
получить открытый ключ для
StrongNameKeyPair ..
System.Reflection.StrongNameKeyPair.nGetPublicKey (Boolean
экспортировано, массив Byte [], строка
контейнер)
System.Reflection.StrongNameKeyPair.get_PublicKey ()
System.AppDomain.InternalDefineDynamicAssembly (AssemblyName
имя, доступ AssemblyBuilderAccess,
String dir, Доказательства,
PermissionSet requiredPermissions,
PermissionSet опциональныеPermissions,
PermissionSet отказано в разрешениях,
StackCrawlMark & stackMark,
IEnumerable`1
unsafeAssemblyAttributes)
System.AppDomain.DefineDynamicAssembly (AssemblyName
имя, доступ AssemblyBuilderAccess)
Castle.DynamicProxy.ModuleScope.CreateModule (Boolean
signStrongName)
Castle.DynamicProxy.ModuleScope.ObtainDynamicModuleWithStrongName ()
Castle.DynamicProxy.ModuleScope.ObtainDynamicModule (Boolean
isStrongNamed)
Castle.DynamicProxy.Generators.Emitters.ClassEmitter.CreateTypeBuilder (ModuleScope
modulecope, имя строки, тип
(бла-бла-снайп)
Я погуглил, и приведенные здесь предложения не работают (измените настройки безопасности папки RSA и т. Д.) http://groups.google.com.br/group/castle-project-users/browse_thread/thread/85685cf32a795158
Правильно ли я так думаю, потому что HttpContextBase
является частью System.Web.Abstraction
, который является подписанной сборкой. Moq попытается подписать динамическую сборку и потерпит неудачу?