asp.net-mvc-3 - System.Security.Principal.IIdentity 如何使用 FakeItEasy?

  显示原文与译文双语对照的内容

在我的应用程序中用户loging通过WIF进入。 用户的凭据存储在 System.Security.Principal.IIdentity 现在,我想测试 CreateUser() 方法。 我得用某种方式伪造那个对象。 我尝试做这样的事情: -extract方法返回该对象:


public IIdentity GetIdentity()
{
 return Thread.CurrentPrincipal.Identity;
}

然后在测试文件中执行如下操作:


 var identity = new GenericIdentity("mymail@mydomain.com");
 A.CallTo(() => _userRepository.GetIdentity()).Returns(identity);

但是这不起作用有什么方法能以最好的方式?

时间:

查看wif的ClaimsPrincipalHttpModule 。 它将把 Windows 标识转换为IClaimsPrincipal而不需要 STS 。

还可以查看 SelfSTS,它是一个非常有用的工具。

...