Moq to set up a function return based on called times

前端 未结 3 397
孤城傲影
孤城傲影 2021-01-01 11:34

I need to mock an interface to call to MSMQ, is there a way I can use Moq to simulate real MSMQ scenario that there are 10 messages in the queue, I call mocked function 10 t

3条回答
  •  梦谈多话
    2021-01-01 12:13

    I sometimes use a simple counter for such scenarios:

    int callCounter = 0;
    var mock = new Mock();
    mock.Setup(a => a.SomeMethod())
        .Returns(() => 
        {
           if (callCounter++ < 10)
           {
               // do something
           }
           else
           {
               // do something else
           }
        });
    

提交回复
热议问题