jak*_*don 28 c# rhino-mocks asp.net-identity
我有一个注入了Microsoft.AspNet.Identity.UserManager的类,我希望userManager.CreateAsync(user,password)方法返回一个IdentityResult.Succeeded = true的Task.但是,IdentityResult唯一可用的构造函数是失败构造函数,它们将导致Succeeded属性为false.
如何创建具有Succeeded == true的IdentityResult?IdentityResult没有实现接口,而且Succeeded不是虚拟的,所以我没有看到任何通过Rhino Mocks(我用作我的模拟框架)创建模拟对象的明显方法.
我的方法做了类似下面的事情.提供此示例以说明为什么我可能想要模拟它.
public async Task<IdentityResult> RegisterUser(NewUser newUser)
{
ApplicationUser newApplicationUser = new ApplicationUser()
{
UserName = newUser.UserName,
Email = newUser.Email
};
IdentityResult identityResult = await applicationUserManager.CreateAsync(newApplicationUser, newUser.Password);
if(identityResult.Succeeded)
{
someOtherDependency.DoSomethingAmazing();
}
return identityResult;
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试编写一个单元测试,以确保在identityResult.Succeeded为true时调用someOtherDependency.DoSomethingAmazing().谢谢你的帮助!
jt0*_*000 44
静态IdentityResult.Success属性是否有效?http://msdn.microsoft.com/en-us/library/microsoft.aspnet.identity.identityresult.success(v=vs.108).aspx
编辑:要添加更多细节,您似乎要做的是让您的模拟CreateAsync返回Suceeded为true的IdentityResult.为此,我将从您的模拟中返回IdentityResult.Success.不应该需要模拟IdentityResult本身.
Sab*_*bel 20
要使Succeeded属性等于True,请使用以下任一示例:
return IdentityResult.Success;
IdentityResult result = IdentityResult.Success;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14121 次 |
| 最近记录: |