嗨,我有一个带有以下签名的方法:
public void GeneratePaymentAdvise(IList<int> paymentIds)
而这是由另一个方法调用的:
public void UpdatePaymentStatus(IList<int> paymentIds, IPaymentLogic paymentLogic)
{
...
paymentLogic.GeneratePaymentStatus(paymentIds);
...
}
所以在单元测试中,我想确保这个方法被调用了。使用 Moq:
var mockPaymentLogic = new Mock<PaymentLogic>();
UpdatePaymentStatus(new List<int> { 2, 3 }, mockPaymentLogic.Object);
mockPaymentLogic.Verify(x => x.GeneratePaymentStatus(It.IsAny<IList<int>>());
那么这个测试可以通过,只是检查GeneratePaymentStatus是否被调用,但是无论传入什么整数列表都可以。
有没有一种方法重写这个测试,以便测试GeneratePaymentStatus是否被调用时,传入的整数列表包含2和3?