3 votes

FakeItEasy Renvoie une valeur différente pour les appels ultérieurs à la méthode fictive

J'ai une fonction appelée GetNumber() dans la classe Math. J'aimerais qu'elle renvoie 1 pour le premier appel, 2 pour le deuxième appel et ainsi de suite. J'ai fait cela dans Mockito, quelque chose comme ceci

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

Comment puis-je faire la même chose avec FakeItEasy ?

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

4voto

Blair Conrad Points 56195

Voir Valeurs de retour calculées au moment de l'appel y Changement de comportement entre les appels pour quelques exemples. Une option est

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

un autre est

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X