ユニットテスト用のモック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(ブール値エクスポート、Byte []配列、文字列コンテナー)System.Reflection.StrongNameKeyPair.get_PublicKey()System.AppDomain.InternalDefineDynamicAssembly(AssemblyName name、AssemblyBuilderAccessアクセス、文字列ディレクトリ、証拠の証拠、PermissionSet requiredPermissions、PermissionSet optionalPermissions、PermissionSet refusedPermissions、StackCrawlMark&stackMark、IEnumerable`1 unsafeAssemblyAttributes)System.AppDomain.DefineDynamicAssembly(AssemblyName name、AssemblyBuilderAccess access)Castle.DynamicProxy.ModuleScope.CreateModule(Boolean signStrongName)Castle.DynamicProxy.ModuleScope.ObtainDynamicModuleWithStrongName()Castle.Dynamic .ObtainDynamicModule(Boolean isStrongNamed)Castle.DynamicProxy.Generators.Emitters.ClassEmitter。CreateTypeBuilder(ModuleScope modulescope、String name、Type(blah blah snip)
私はグーグルで検索しましたが、ここでの提案は機能しないようです(RSAフォルダーのセキュリティ設定の変更など)http://groups.google.com.br/group/castle-project-users/browse_thread/thread/85685cf32a795158
署名されたアセンブリであるHttpContextBase
の一部であるため、私はそれを考えるのは正しいですか。System.Web.Abstraction
Moqは実際に動的アセンブリに署名しようとしますが、失敗しますか?