Mam kod biblioteki, który może być wywoływany z wielu typów klienta, takich jak WinForm, konsola, ASP.NET itp. ... i który musi określić bieżącą wartość główną. W ten sposób mam przeprowadza kontrolę dwóch stopniową Thread.CurrentPrincipal a następnie Environment.UserName następująco:Jak zresetować Thread.CurrentPrincipal do nieuwierzytelnionego w jednostce testowej
var currentUser = !System.Threading.Thread.CurrentPrincipal.Identity.IsAuthenticated ? null : System.Threading.Thread.CurrentPrincipal.Identity.Name;
if (string.IsNullOrWhiteSpace(currentUser))
{
currentUser = Environment.UserName;
}
w konsoli app Thread.CurrentPrincipal.Identity.IsAuthenticated jest zawsze fałszywe howerver w MSTest zawsze ma ona prawidłowy uwierzytelniony użytkownik.
Czy mimo to zresetowano wartość Thread.CurrentPrincipal w teście urządzenia na nieuwierzytelnione, aby naśladować aplikację Console?