Я получаю сообщение об ошибке, когда пишу тест в свой код с помощью xUnit.В этом тестовом методе я пытаюсь работника Exist (если есть пользователь или нет), но в тесте, когда я создаю результат действия, принадлежащий методу, я принимаю вызов не получен со строгой ошибкой ложного поведения.Я не смог найти решение
public async Task<IActionResult> EditUser([FromBody] UserDto userDto)
{
if (!ModelState.IsValid)
return BadRequest(ModelState);
var workerExist = _user.GetUserById(UserDto.userID);
if (workerExist == null)
return NotFound();
var worker = new Workers
{
username = userDto.Username
};
await _workers.EditWorker(worker);
return Ok(worker);
}
public async Task EditUser_Should_Call_GetUserById_And_Return_NotFound_If_Returns_Null()
{
UserControllerMock mock = UserControllerMock.Create();
mock.UserService.Setup(service => service.GetUserById(It.IsAny<int>())).ReturnsAsync(() => null);
IActionResult actionresult = await mock.EditUser(new UserDto());
var notFoundResult = actionresult as NotFoundResult;
Assert.NotNull(notFoundResult);
mock.UserService.Verify(service => service.GetUserById(It.IsAny<int>()), Times.Once);
}