Moq - 在两种不同的方法中设置回调方法中的不同参数

时间:2014-07-01 20:10:03

标签: c# moq

我有一个名为filter的回调方法,它接受一个函数和一个字符串参数。在我的代码中,过滤器使用不同的方法和参数被调用两次。有没有办法为每个实例过滤器设置不同的参数?

private void method1 {
    filter(iq1, function1);    
}

private void method2 {
    filter(iq2, function2);
}

这是尝试设置模拟的方法

private Mock<Filter> m = new Mock<Filter>();
string test1 = "hello";
string test2 = "goodbye";

var queue = new Queue<string>();
queue.Enqueue(test1);
queue.Enqueue(test2);

m.Setup(f => f.filter(It.IsNotNull<string>, It.IsAny<Action<Filter>>).Callback((string iq, Action<Filter> action) => action(queue.Dequeue());

我知道method1在method2之前调用filter。

0 个答案:

没有答案