哦,
我想要模拟一个我知道我的服务会调用的回调.例如:
public interface ITestMe { void TestMethod(Action<int> callback); }
Run Code Online (Sandbox Code Playgroud)
在应用程序中,当调用'TestMethod'时,我会在运行后传递回调方法,这将根据参数执行某些操作.通常,在这种情况下,它使用如下:
...
testMe.TestMethod(
(ret) =>
{
if(ret < 0)
AddToErrorCollection(ret);
else
AddToSuccessCollection(ret);
}
);
Run Code Online (Sandbox Code Playgroud)
我想在MOQ中做的是调用带有一系列值的匿名方法,例如:
myMock.Setup(m => m.TestMethod(It.IsAny<Action<int>>())).... //Call that action!!??
Run Code Online (Sandbox Code Playgroud)
反正有吗?
这甚至是正确的方法吗?
试试这个:
myMock.Setup(m => m.TestMethod(It.IsAny<Action<int>>())).Callback<Action<int>>((action) => action(4));
Run Code Online (Sandbox Code Playgroud)
虽然这似乎是一种相当复杂的方式来基本上测试你的回调方法.为什么不直接测试呢?
归档时间: |
|
查看次数: |
2630 次 |
最近记录: |