【问题标题】:Mocking ReturnsAsync using Moq to return 2 values使用 Moq 模拟 ReturnsAsync 以返回 2 个值
【发布时间】:2020-05-29 10:15:40
【问题描述】:

给定一个接口:

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(?????);

【问题讨论】:

  • 第一个接口声明也是无效的)

标签: c# .net async-await moq


【解决方案1】:

在第二种情况下,结果是值元组,因此您需要创建一个。试试:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-27
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多