Moq:第一次和后续调用的不同返回值

时间:2013-12-13 10:18:06

标签: c# properties moq

我可以在Moq中设置接口的属性,以便在第一次调用时返回0,在所有进一步的调用中返回10吗?

1 个答案:

答案 0 :(得分:3)

Mock<IFoo> foo = new Mock<IFoo>(MockBehavior.Strict);

bool isFirstCall = true;
foo.Setup(item => item.GetInt())
   .Returns(() =>
   {
       if (isFirstCall)
       {
           isFirstCall = false;
           return 0;
       }
       return 10;
   });