相关疑难解决方法(0)

MSTEST PrincipalPermission

如何对使用PrincipalPermission属性修饰的代码进行单元测试?

例如,这有效:

class Program
{
    static void Main(string[] args)
    {
        AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
        var c = new MyClass();
    }
}

[PrincipalPermission(SecurityAction.Demand, Role = @"BUILTIN\Users")]
class MyClass
{
    public MyClass()
    {
        Console.WriteLine("This works.");
    }
}
Run Code Online (Sandbox Code Playgroud)

这会抛出SecurityException:

[TestClass]
public class UnitTest1
{
    [TestInitialize]
    public void TestInitialize()
    {
        AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
    }

    [TestMethod]
    public void TestMethod1() 
    { 
        var c = new MyClass();
    }
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

.net c# security unit-testing mstest

20
推荐指数
1
解决办法
3757
查看次数

标签 统计

.net ×1

c# ×1

mstest ×1

security ×1

unit-testing ×1