开发者

MOQ 'TestMethod(Action<int> callback)' and be able to 'call' callback

开发者 https://www.devze.com 2023-01-21 19:56 出处:网络
Oook, I\'m wanting to mock a callback that I know my service will call. For example: public interface ITestMe { void TestMethod(Action<int> callback); }

Oook,

I'm wanting to mock a callback that I know my service will call. For example:

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

In the application, when calling 'TestMethod' I would pass the callback method to hit after it has run, which will do something based on the parameters. Typically, in this case it's used like this:

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

Wh开发者_JAVA百科at I'd like to do in MOQ is call that anonymous method with a range of values i.e. something like:

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

Is there anyway to do that?

Is this even the correct way to do it?


try this:

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

although this seems a rather convoluted way to essentially test your callback method. Why not test it directly?

0

精彩评论

暂无评论...
验证码 换一张
取 消