你如何使用PrincipalPermission属性来装饰测试代码?MSTEST 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.");
}
}
这将引发一个SecurityException:
[TestClass]
public class UnitTest1
{
[TestInitialize]
public void TestInitialize()
{
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
}
[TestMethod]
public void TestMethod1()
{
var c = new MyClass();
}
}
任何想法?
有趣......我跑相同TestDriven测试,并通过。在这种情况下,测试似乎以我的身份运行,但是当测试使用mstest运行时,CurrentPrincipal具有“空白”身份。有谁知道为什么? – 2009-07-09 20:58:54