当前位置:  开发笔记 > 后端 > 正文

运行单元测试时出现奇怪的.net 4.0异常

如何解决《运行单元测试时出现奇怪的.net4.0异常》经验,为你挑选了1个好方法。

尝试使用moq 3.1在VS2010下使用.net 4.0运行我的单元测试时,我收到以下异常.

尝试使用安全透明方法'SPPD.Backend.DataAccess.Test.Specs_for_Core.When_using_base.Can_create_mapper()'来访问安全关键方法'Microsoft.VisualStudio.TestTools.UnitTesting.Assert.IsNotNull(System.Object)'失败.

程序集"SPPD.Backend.DataAccess.Test,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null"标记为AllowPartiallyTrustedCallersAttribute,并使用2级安全透明度模型.2级透明度导致AllowPartiallyTrustedCallers程序集中的所有方法默认情况下变为透明安全性,这可能是此异常的原因.

我正在运行的测试非常简单,看起来如下所示:

    [TestMethod]
    public void Can_create_mapper()
    {
        this.SetupTest();

        var mockMapper = new Moq.Mock().Object;
        this._Resolver.Setup(x => x.Resolve()).Returns(mockMapper).Verifiable();

        var testBaseDa = new TestBaseDa();
        var result = testBaseDa.TestCreateMapper();

        Assert.IsNotNull(result);  //<<< THROWS EXCEPTION HERE 
        Assert.AreSame(mockMapper, result);

        this._Resolver.Verify();
    }

我不知道这意味着什么,我一直在环顾四周,对这个话题一无所知.我找到的最接近的参考是这个http://dotnetzip.codeplex.com/Thread/View.aspx?ThreadId=80274,但它不是很明确他们做了什么修复它...

有人有任何想法?



1> coderman..:

在引用项目的AssemblyInfo.cs中添加以下行

[assembly: System.Security.SecurityRules(System.Security.SecurityRuleSet.Level1)]


这对我有帮助.
推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有