【发布时间】:2021-11-15 17:37:52
【问题描述】:
我正在尝试模拟 UserStore 的 CreateAsync 方法以拥有内存中的用户存储。
public void Can_Create_User()
{
//Arrange
var dummyUser = new ApplicationUser() { UserName = "PinkWarrior", Email = "PinkWarrior@PinkWarrior.com" };
var mockStore = new Mock<IUserStore<ApplicationUser>>();
var userManager = new UserManager<ApplicationUser>(mockStore.Object);
mockStore.Setup(x => x.CreateAsync(dummyUser))
.Returns(Task.FromResult(IdentityResult.Success));
//Act
Task<IdentityResult> tt = (Task<IdentityResult>)mockStore.Object.CreateAsync(dummyUser);
var user = userManager.FindByName("PinkWarrior");
//Assert
Assert.AreEqual("PinkWarrior", user.UserName);
}
上面的user 始终为空,因为我从不插入它。所以我遇到的问题是我怎样才能让 userManager,这不是一个模拟从我的模拟商店返回用户?
This answer 有点相似,但在这里没有回答我的问题。
非常感谢任何帮助
【问题讨论】: