gpt4 book ai didi

asp.net-mvc - 如何模拟和测试 asp.net 身份的 UserStore.CreateAsync 方法

转载 作者:行者123 更新时间:2023-12-04 23:41:21 26 4
gpt4 key购买 nike

我有一个相当简单的问题。我只是想测试 asp.net Identity 的 UserStore 方法并在我的测试中使用它。本质上,目标只是创建一个模拟用户存储(在内存中),插入一个虚拟用户并验证插入是否成功。

[Test]
public void Can_Create_User()
{
var identityResult = Task.FromResult(new IdentityResult());
var user = new ApplicationUser() { UserName = "Andy", Email = "andy@andy.com" };
var store = new Mock<UserStore<ApplicationUser>>();
store.Setup(x => x.CreateAsync(user))
.Returns(identityResult);


Assert.IsTrue(identityResult.Result.Succeeded);
}

但是测试一直失败并出现“Expected true”错误。

谢谢

最佳答案

我正在回答我自己的问题,因为出于某种原因,这个问题没有得到任何意见,我确实设法解决了它。

我不知道这是否是正确的方法,但我修复它的方式是首先更改 successfulResultTask<IdentityResult>并分配 IdentityResult.Success对它

[Test]
public void Can_Create_User()
{
Task<IdentityResult> successfulResult = Task.FromResult<IdentityResult>(IdentityResult.Success);
var user = new ApplicationUser() { UserName = "Andy", Email = "andy@andy.com" };
var store = new Mock<UserStore<ApplicationUser>>();
store.Setup(x => x.CreateAsync(user)).Returns(successfulResult);
Task<IdentityResult> tt = (Task<IdentityResult>) store.Object.CreateAsync(user);
Assert.IsTrue(tt.Result.Succeeded);

}

关于asp.net-mvc - 如何模拟和测试 asp.net 身份的 UserStore.CreateAsync 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28637250/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com