1 votes

RhinoMocks - Spécifier le retour des fonctions appelées ultérieurement

En utilisant RhinoMocks - comment puis-je dire "chaque fois qu'une fonction est appelée à partir de maintenant - elle doit renvoyer une certaine valeur".

Je voudrais dire quelque chose comme ceci:

fakeCalculator.WhenCalled(factory => factory.AddNumbers(1, 2)).Return(3); 

Ensuite - lorsque la fonction AddNumbers est appelée avec 1 et 2 - elle renverra 3. C'est-à-dire que je veux définir cela à l'avance, puis déclencher la fonction. La raison en est que je compte sur ce comportement pour mon simulation qui est injectée dans une autre classe - qui appellera à nouveau la fonction AddNumbers.

1voto

Jason Points 125291

Quelque chose comme ça:

MockRepository mocks = new MockRepository();
IFactory factory = mocks.DynamicMock();

utilisation(mocks.Record()) {
    factory.AddNumbers(1, 2);
    LastCall.Return(3);

    factory.AddNumbers(2, 3);
    LastCall.Return(5);
}

int result = factory.AddNumbers(1, 2);
Assert.AreEqual(3, result);

result = factory.AddNumbers(2, 3);
Assert.AreEqual(5, result);

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