代码之家  ›  专栏  ›  技术社区  ›  Charlotte Skardon

moq'testmethod(action<int>callback)'并能够'调用'回调

  •  4
  • Charlotte Skardon  · 技术社区  · 16 年前

    哦,
    我想模仿一个我知道我的服务会呼叫的回调。例如:

    public interface ITestMe { void TestMethod(Action<int> callback); }
    

    在应用程序中,当调用“testmethod”时,我将在回调方法运行后传递给hit,它将根据参数执行一些操作。通常,在这种情况下,它的用法如下:

    ...
    testMe.TestMethod(
        (ret) => 
            {
            if(ret < 0)
                AddToErrorCollection(ret);
            else
                AddToSuccessCollection(ret);
            }
        );
    

    在moq中,我想做的是调用具有一系列值的匿名方法,例如:

    myMock.Setup(m => m.TestMethod(It.IsAny<Action<int>>())).... //Call that action!!??
    

    有什么办法吗?
    这是正确的方法吗?

    1 回复  |  直到 16 年前
        1
  •  7
  •   Mark Heath    16 年前

    myMock.Setup(m => m.TestMethod(It.IsAny<Action<int>>())).Callback<Action<int>>((action) => action(4));