我有以下具体代码:
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 项记录。
我现在尝试模拟该GetPurchaseOrderOnlyByIdAsync
方法,其中传入的值是 GUID。
因为我本质上希望这个方法被调用两次,所以我认为我可以以setupSequence
以下形式使用:
PurchaseOrderDataMock.SetupSequence(X => X.GetPurchaseOrderByIdAsync(It.IsAny<Guid>)).Returns().Returns()
我用我期望为每个项目返回的值填充每个返回值。但是,我收到错误It.IsAny<Guid>
:
参数 1 无法从方法组转换为 system.Guid
It.IsAny
是一种方法。您必须调用该方法来获取新的匹配器实例: