哎呀,
我想模拟一个我知道我的服务会调用的回调。例如:
public interface ITestMe { void TestMethod(Action<int> callback); }
在应用程序中,当调用“TestMethod”时,我会在它运行后将回调方法传递给 hit,它会根据参数做一些事情。通常,在这种情况下,它是这样使用的:
...
testMe.TestMethod(
(ret) =>
{
if(ret < 0)
AddToErrorCollection(ret);
else
AddToSuccessCollection(ret);
}
);
我想在最小起订量中做的是调用具有一系列值的匿名方法,例如:
myMock.Setup(m => m.TestMethod(It.IsAny<Action<int>>())).... //Call that action!!??
有什么办法吗?
这甚至是正确的方法吗?
最佳答案
试试这个:
myMock.Setup(m => m.TestMethod(It.IsAny<Action<int>>())).Callback<Action<int>>((action) => action(4));
虽然这似乎是一种相当复杂的方法来测试您的回调方法。为什么不直接测试呢?
关于c# - 最小起订量 'TestMethod(Action<int> callback)' 并能够 'call' 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4023042/