Ich habe eine Methode auf einer Schnittstelle:
string DoSomething(string whatever);
Ich möchte dies mit MOQ verspotten, damit es alles zurückgibt, was übergeben wurde - so etwas wie:
_mock.Setup( theObject => theObject.DoSomething( It.IsAny<string>( ) ) )
.Returns( [the parameter that was passed] ) ;
Irgendwelche Ideen?
IReturns
in Moq, definiert sichReturns
für 4 Argumente höchstens . Gibt es eine einfache Möglichkeit, das zu umgehen? / Ich meine, außer Moq Quelle zuMoq
v definiert4.0.0.0
. gelöst :).Returns<string>
bezieht sich auf die Eingabeparameter und nicht auf die Werte, die Sie zurückgeben.Noch nützlicher, wenn Sie mehrere Parameter haben, können Sie auf alle zugreifen:
Sie müssen immer auf alle Argumente verweisen, um mit der Signatur der Methode übereinzustimmen, auch wenn Sie nur eines davon verwenden.
quelle
ReturnsAsync
auch damit!Die generische
Returns<T>
Methode kann mit dieser Situation gut umgehen.Oder wenn die Methode mehrere Eingaben erfordert, geben Sie diese wie folgt an:
quelle