NUnit тестирование NullReferenceException - PullRequest
0 голосов
/ 13 февраля 2020

Я добавил юнит-тест в свой метод, но получил ошибку. Метод работает; вне теста он работает на 100%.

 public async Task ClearCartAsync()
    {
        var carts = _cartRepository.GetAll().ToList();
        for (var i = 0; i < carts.Count; i++)
        {
            var sub = DateTimeOffset.Now.Subtract(carts.ElementAt(i).PurchaseDate);
            var minutes = sub.Minutes;
            var hours = sub.Hours;
            if (Math.Abs(hours) > 0 || Math.Abs(minutes) > 1)
            {
                var seatId = carts.ElementAt(i).EventSeatId;
                var seat = await _eventSeatRepository.GetByIdAsync(seatId); //problem here
                seat.State = EventSeatState.Empty;
                await _eventSeatRepository.UpdateAsync(seat);
                await _cartRepository.DeleteAsync(carts.ElementAt(i).Id);
            }
        }
    }

enter image description here Следующий шаг.

/// <summary>Gets an awaiter used to await this <see cref="T:System.Threading.Tasks.Task`1" />.</summary>
/// <returns>An awaiter instance.</returns>
[__DynamicallyInvokable]
public TaskAwaiter<TResult> GetAwaiter()
{
  return new TaskAwaiter<TResult>(this);
}

и следующий: seat = null;

Почему это не go для метода?

UPD:

EventSeatRepository:

public override async Task<EventSeatEntity> GetByIdAsync(int id)
    {
        return await base.GetByIdAsync(id);
    }

GenericRepository:

  public virtual async Task<T> GetByIdAsync(int id)
    {
        return await _context.Set<T>().FirstAsync(m => m.Id == id);
    }

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...