FakeItEasy返回不同的值,以供后续对模拟方法的调用

时间:2019-05-17 00:37:18

标签: c# .net nunit fakeiteasy

我在Math类中有一个名为GetNumber()的函数。我想为第一个电话返回 1 ,为第二个电话返回 2 ,依此类推。我已经在Mockito中做到了

when(mathObj.GetNumber()).thenReturn(1).thenReturn(2).thenReturn(3);

如何使用FakeItEasy进行相同操作

A.CallTo( () => mathObj.GetNumber()).Returns("")

1 个答案:

答案 0 :(得分:1)

有关一些示例,请参见Return Values Calculated at Call TimeChanging behavior between calls。一种选择是

A.CallTo(() => mathObj.GetNumber()).ReturnsNextFromSequence(1, 2, 3);

另一个是

A.CallTo(() => mathObj.GetNumber())
    .Returns(1).Once()
    .Then
    .Returns(2).Once()
    .Then
    .Returns(3).Once();