У меня есть следующий модульный тест:
[TestMethod]
public void Execute_Sends_Email_To_User()
{
// Setup
InitializeTestEntities();
_mock.Setup(x => x.Send(It.Is<string>(y => y == _user.Email),
It.IsAny<string>(), It.IsAny<string>()));
// Act
new ResetUserPasswordCommand(_unitOfWork,
_mock.Object).WithUserId(_user.Id).Execute();
// Verify
_mock.Verify(x => x.Send("", "", ""), Times.Once());
}
Когда он запускается, я получаю следующее сообщение об исключении
Test method
MyApp.Tests.Commands.Users.ResetUserPasswordCommandTests.Execute_Sends_Email_To_User
threw exception:
Moq.MockException:
Expected invocation on the mock once, but was 0 times: x => x.Send("", "", "")
Configured setups:
x => x.Send(It.Is<String>(y => y == ._user.Email), It.IsAny<String>(),
It.IsAny<String>()), Times.Once
Performed invocations:
IEmailUtils.Send("test@email.com", "Password Recovery",
"Your new password is: 7Xb79Vb9Dt")
Я запутался в этом, потому что он говорит, чтоmock был вызван 0 раз, но это показывает, что успешный вызов.Что я делаю не так?