Проблема с Nunit 2.5 и AppDomain.CurrentDomain.SetPrincipalPolicy - PullRequest
1 голос
/ 05 октября 2010

Следующий тест отлично работает с .Net 3.5 + NUnit 2.4.8.Но те же тесты не работают с использованием .Net 4.0 + Nunit 2.5.7.10213.

/// <summary>
/// This test fails with unexpected exception:
///    System.InvalidCastException : Unable to cast object of type 
///    'System.Security.Principal.GenericPrincipal' to type 
///    'System.Security.Principal.WindowsPrincipal'.
/// </summary>
[Test]
public void GiventATest_WhenSettingDomainPrincipal_AccessingThreadcurrentPrincipalWorks()
{
    AppDomain.CurrentDomain.SetPrincipalPolicy(System.Security.Principal.PrincipalPolicy.WindowsPrincipal);
    WindowsPrincipal currentUserWindowsPrincipal = (WindowsPrincipal)Thread.CurrentPrincipal;
}

Странно то, что после однократного сбоя теста я могу запустить тесты снова, и он работает до перезагрузкитестовая сборка.И затем, это снова терпит неудачу с первой попытки.

1 Ответ

1 голос
/ 05 октября 2010

добавьте это перед тестом:

NUnit.Core.TestContext.CurrentPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent());

Вам нужно будет добавить ссылку на NUnit.Core.dll, если у вас ее еще нет. Помните, что существует два класса TestContext, один в пространстве имен NUnit.Framework и один в пространстве имен NUnit.Core

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...