Mocking ReturnsAsyn c с использованием Moq для возврата 2 значений - PullRequest
0 голосов
/ 29 мая 2020

Учитывая интерфейс:

Task<Booking> GetBookingAsync(Guid reservationId);

Я бы высмеял следующее:

_bookingLogic.Setup(x => x.GetBookingAsync(It.IsAny<Guid>())).ReturnsAsync(new Booking());

Теперь интерфейс меняется на:

Task<(Booking Booking, IList<GAEvent> GaEvents)> GetBookingAsync(Guid reservationId);

Как будет ли это издеваться с использованием Moq?

_bookingLogic.Setup(x => x.GetBookingAsync(It.IsAny<Guid>())).ReturnsAsync(?????);

1 Ответ

2 голосов
/ 29 мая 2020

Во втором случае результатом является кортеж значений, поэтому вам необходимо его создать. Попробуйте:

.ReturnsAsync((new Booking(), (IList<GAEvent>)new List<GAEvent>()))
...