我再次遇到moq的问题而且不确定这次我做错了什么.
所以我一步一步地通过调试器,我注意到即使在我的模拟中我也设置了
ResetPassword返回"嘿它似乎没有
这是我的单元测试的一部分:
var membershipMock = new Mock<MembershipProvider>();
var user = new Mock<MembershipUser>();
user.SetupGet(x => x.Email).Returns("Email");
user.Setup(x => x.ResetPassword("test")).Returns("hey");
membershipMock.Setup(m => m.GetUser("chobo2", false)).Returns(user.Object);
authentication.Authenticate.Provider = membershipMock.Object;
// Act
var actual = authentication.PasswordRecoveryStep2("chobo2","2z");
Run Code Online (Sandbox Code Playgroud)
我的代码
MembershipUser userName = Provider.GetUser(user, false);
string newPassword = userName.ResetPassword(securityAnswer);
Mail.To = userName.Email;
Run Code Online (Sandbox Code Playgroud)
Provider是一个使用模型对象设置的属性,如您所见.电子邮件部分填写正常.只是ResetPassword不会返回它应该的内容.它只是给我null.
谢谢