Mock an update method returning a void with Moq
If you just want to verify this method is called, you should use Verifiable() method.
_mockUserRepository.Setup(mr => mr.Update(It.IsAny<int>(), It.IsAny<string>()))
.Verifiable();
If you also want to do something with those parameters, use Callback() first.
_mockUserRepository.Setup(mr => mr.Update(It.IsAny<int>(), It.IsAny<string>()))
.Callback((int id, string lastName) => {
//do something
}).Verifiable();
Update
Here's how you should mock it if you return a bool value as result.
_mockUserRepository.Setup(mr => mr.Update(It.IsAny<int>(), It.IsAny<string>()))
.Returns(true);
Mock<IUsers> _mockUserRepository = new Mock<IUsers>();
_mockUserRepository.Setup(mr => mr.Update(It.IsAny<int>(), It.IsAny<string>()))
.Callback((int id, string name) =>
{
//Your callback method here
});
//check to see how many times the method was called
_mockUserRepository.Verify(mr => mr.Update(It.IsAny<int>(), It.IsAny<string>()), Times.Once());