C# 使用线程主体集全局运行NUnit测试
我想在我的WPF解决方案中为视图模型编写一些集成测试,其中线程的主体是用C# 使用线程主体集全局运行NUnit测试,c#,.net,wpf,nunit,integration-testing,C#,.net,Wpf,Nunit,Integration Testing,我想在我的WPF解决方案中为视图模型编写一些集成测试,其中线程的主体是用 AppDomain.CurrentDomain.SetThreadPrincipal(主体) NUnit不提供从测试代码执行相同操作的机制,例如: AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.NoPrincipal); AppDomain.CurrentDomain.SetThreadPrincipal(myCustomPrincipalInstan
AppDomain.CurrentDomain.SetThreadPrincipal(主体)代码>
NUnit不提供从测试代码执行相同操作的机制,例如:
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.NoPrincipal);
AppDomain.CurrentDomain.SetThreadPrincipal(myCustomPrincipalInstance);
可以通过NUnit的“设置对话框”进行设置,但这不是我所需要的(有关此解决方案的更多信息,请参见
是否有一种方法可以使用全局设置主体运行测试,以便测试代码堆栈中的所有线程都可以使用它?是否有一个NUnit插件可以提供这样的功能,或者是否有一种方法可以使用新的AppDomain运行测试,我可以为其设置自定义主体(我将如何做到)
我尝试在MsTest中执行类似的操作,其中PrincipalPolicy.WindowsPrincipal
是默认设置,但我无法将线程主体也设置为AppDomain。NUnit called中有一个东西。您应该能够通过调用以下命令来实现所需的结果:
TestExecutionContext.CurrentContext.CurrentPrincipal = customPrincipal;
为什么在网上很难找到它,我不知道,但是除非你知道它在那里,否则需要一段时间才能找到它:-)
希望能有帮助 多谢各位。对于其他人:我必须添加对NUnit.Core的引用,以获取TestExecutionContext