Puis-je configurer un objet fantaisie pour toujours retourner l'objet donné en paramètre? J'ai une méthodePuis-je configurer un simulacre pour toujours retourner l'objet donné dans l'un des arguments?
public MyObject DoSomething(MyObject obj)
et je veux avoir une maquette qui retourne toujours obj pour chaque appel à DoSomething, un peu comme ceci:
mock.Stub(x=>x.DoSomething(Arg<MyObject>.Is.Anything).Return(Arg<MyObject>)
bien que je ne suis pas sûr de ce qu'il faut mettre dans le bit de retour ...
EDIT: J'ai essayé ceci:
MyObject o=null;
mock.Stub(x=>x.DoSomething(Arg<MyObject>.Is.Anything).WhenCalled (y=>
{
o = y.Arguments[0] as MyObject;
}).Return (o);
qui semblait être il pourrait être prometteur mais pas de chance. Affichage dans le cas où il pulse la mémoire de quelqu'un ...
fantastique! merci, je savais que ça devait être possible. –
Que fait .TentativeReturn()? – Grzenio
Pas de problème, Sam. C'était amusant de sortir du puzzle. @Grzenio: TentativeReturn signale simplement que la valeur de retour peut être remplacée. Le code ci-dessus renverra null si vous le supprimez. (WhenCalled sera toujours exécuté, mais la nouvelle valeur de retour ne sera pas honorée) –