FakeItEasy Возвращает другое значение для последующих вызовов метода макета - PullRequest
1 голос
/ 17 мая 2019

У меня есть функция с именем GetNumber () в классе Math.Я хотел бы вернуть 1 для первого вызова, 2 для второго вызова и так далее.Я сделал это в Mockito примерно так:

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

Как я могу сделать то же самое с FakeItEasy

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

1 Ответ

1 голос
/ 17 мая 2019

См. Возвращаемые значения, рассчитанные во время вызова и Изменение поведения между вызовами для нескольких примеров.Один вариант -

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

, другой -

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