Вызов xUnit завершился неудачно из-за строгого поведения - PullRequest
0 голосов
/ 18 октября 2018

Я получаю сообщение об ошибке, когда пишу тест в свой код с помощью 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);
    }
...