使用 Moq 模拟 ReturnsAsync 到 return 2 个值
Mocking ReturnsAsync using Moq to return 2 values
给定一个接口:
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(?????);
在第二种情况下,结果是一个值元组,因此您需要创建一个。尝试:
.ReturnsAsync((new Booking(), (IList<GAEvent>)new List<GAEvent>()))
给定一个接口:
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(?????);
在第二种情况下,结果是一个值元组,因此您需要创建一个。尝试:
.ReturnsAsync((new Booking(), (IList<GAEvent>)new List<GAEvent>()))