У меня есть метод на интерфейсе:
string DoSomething(string whatever);
Я хочу поиграть с MOQ, чтобы он возвращал все, что было передано - что-то вроде:
_mock.Setup( theObject => theObject.DoSomething( It.IsAny<string>( ) ) )
.Returns( [the parameter that was passed] ) ;
Любые идеи?
IReturns
в Moq, он определяетReturns
для 4 аргументов в большинстве . Есть ли простой способ обойти это? / Я имею в виду, за исключением изменения источника Moq /Moq
v4.0.0.0
. решено :).Returns<string>
относится к входным параметрам, а не к возвращаемым значениям.Еще более полезно, если у вас есть несколько параметров, вы можете получить доступ к любому / всем из них с помощью:
Вам всегда нужно ссылаться на все аргументы, чтобы соответствовать сигнатуре метода, даже если вы собираетесь использовать только один из них.
источник
ReturnsAsync
тоже!Универсальный
Returns<T>
метод может хорошо справиться с этой ситуацией.Или, если метод требует нескольких входов, укажите их так:
источник