У меня есть два метода, которые я действительно не знаю, как проверить. Они находятся в классе UserService
:
public async Task UpdateUser(int userId, UserInput userInput)
{
var user = await _userRepository.Get(userId);
if (user != null)
{
user.Name = userInput.Name;
_userRepository.Update(user);
}
}
public async Task RemoveUser(int userId)
{
var user = await _userRepository.Get(userId);
if (user != null)
{
_userRepository.Remove(user);
}
}
И вот тест, который я написал для Update
метода:
[Fact]
public async void UpdateUser()
{
var repository = new Mock<IUserRepository>();
repository.Setup(r => r.Get(1)).ReturnsAsync(new User(1, "John Doe"));
repository.Setup(r => r.Update(It.IsAny<User>()));
var userService = new UserService(repository.Object, SingletonAutoMapper.Mapper);
var userInput = new UserInput { Name = "John Doe" };
await userService.Update(1, userInput);
}
Так что в UpdateUser
, единственные методы, которые я Пользуюсь репозиторием, что я говорю, что именно вернуть. Более того, я даже ничего не возвращаю из него (PUT
метод web api должен возвращать 204 No Content
status).
(Mapper
используется в этом классе, но не в этих двух методах, поэтому, пожалуйста, не против)
Могу ли я оставить этот тест без Assert
метода? Если нет, то как мне это проверить?