提问人:bilpor 提问时间:11/10/2023 最后编辑:marc_sbilpor 更新时间:11/10/2023 访问量:29
如何使用最小起订量 C 模拟具有 GUID 参数的序列#
How to mock a Sequence with a GUID Parameter using moq C#
问:
我有以下具体代码:
var allBookedPos = await _dataService.GetAllBookingsForVendorInAwitingApproval(purchaseOrder.VendorCode);
foreach (var booking in allBookedPos)
{
// get the purchase order
var po = await _purchaseOrderDataService.GetPurchaseOrderOnlyByIdAsync(booking.PurchaseOrderId);
}
我已经设置了我的第一个模拟来填充:allBookedPos
BookingDataAccessMock.Setup(x => x.GetAllBookingsForVendorInAwitingApproval("A1248").Result).Returns(viewBookings);
这保留了 2 条记录。
我现在正在尝试模拟该方法,其中传入的值是 GUID。GetPurchaseOrderOnlyByIdAsync
因为我本质上希望这个方法被调用两次,所以我认为我可以在以下形式中使用:setupSequence
PurchaseOrderDataMock.SetupSequence(X => X.GetPurchaseOrderByIdAsync(It.IsAny<Guid>)).Returns().Returns()
我用我期望为每个项目返回的值填充每个返回值。但是,我在以下方面出现错误:It.IsAny<Guid>
参数 1 无法从方法组转换为系统。指南
答:
1赞
knittl
11/10/2023
#1
It.IsAny
是一种方法。必须调用该方法才能获取新的匹配器实例:
It.IsAny<Guid>()
评论
0赞
bilpor
11/10/2023
简直不敢相信我错过了。谢谢。。
评论
It.IsAny<Guid>()
你那里缺少括号。