Когда я отлаживаю тест, я вижу, что он проходит через await userManager.CreateAsync (пользователь), но затем он переходит к улову, к которому он должен идти, только если он пустой, а это не так.Это контроллер:
public async Task<ActionResult<string>> CreateUser(UserVM userVM)
{
ApplicationUser user = ModelConverter.ViewModelToModel.GetUser(userVM);
var x = await userManager.CreateAsync(user);
List<ApplicationUser> users = userManager.Users.ToList();
return user.Id;
}
Это один из тестов, которые я использую:
public void Should_AddShiftExchangeToUser()
{
MPContext context = CleanContext();
UsersController usersController = new UsersController();
try
{
var x = usersController.CreateUser(new ViewModels.UserVM()).Result;
var y = usersController.CreateUser(new ViewModels.UserVM()).Result;
var result = usersController.AddShiftExchange(new ShiftExchangeVM() { RequesterId = x.Value, ReceiverId = y.Value }, x.Value).Result;
Assert.NotNull(result.Value);
ShiftExchange shiftExchange = context.shiftExchanges.FirstOrDefaultAsync(s => s.Id == result.Value).Result;
Assert.NotNull(shiftExchange);
Assert.NotNull(shiftExchange.Receiver);
Assert.NotNull(shiftExchange.Requester);
}
catch (Exception ex)
{
Assert.Null(ex);
}
}
Тогда я получаю эту ошибку:
Message: Assert.Null() Failure Expected: (null) Actual: System.AggregateException: One or more errors occurred. (Object reference not set to an instance of an object.) --->
вопрос, который яесть как пройти остальную часть теста, а не поймать, когда я создаю пользователя.