Hi nói rằng tôi có một phương pháp với chữ ký sau đây:Moq cách xác định một phương pháp được gọi với một danh sách có chứa giá trị nhất định
public void GeneratePaymentAdvise(IList<int> paymentIds)
và điều này được gọi bằng một phương pháp khác:
public void UpdatePaymentStatus(IList<int> paymentIds, IPaymentLogic paymentLogic)
{
...
paymentLogic.GeneratePaymentStatus(paymentIds);
...
}
Vì vậy, trong một bài kiểm tra đơn vị tôi muốn chắc chắn rằng điều này đã được gọi. Sử dụng moq:
var mockPaymentLogic = new Mock<PaymentLogic>();
UpdatePaymentStatus(new List<int> { 2, 3 }, mockPaymentLogic.Object);
mockPaymentLogic.Verify(x => x.GeneratePaymentStatus(It.IsAny<IList<int>>());
Vì vậy, điều này sẽ hoạt động tốt và kiểm tra rằng GeneratePaymentStatus được gọi nhưng chỉ được gọi với bất kỳ danh sách cũ nào của int.
Có cách nào để viết lại điều này để kiểm tra xem GeneratePaymentStatus có được gọi với danh sách các int chứa 2 và 3 không?