Tengo un método en una interfaz:
string DoSomething(string whatever);
Quiero burlarme de esto con MOQ, para que devuelva lo que se haya pasado, algo como:
_mock.Setup( theObject => theObject.DoSomething( It.IsAny<string>( ) ) )
.Returns( [the parameter that was passed] ) ;
¿Algunas ideas?

IReturnsen Moq, se defineReturnspor 4 argumentos como máximo . ¿Alguna forma fácil de evitar eso? / Quiero decir, excepto modificar la fuente de Moq /Moqv4.0.0.0. resuelto :).Returns<string>entrada se refiere a los parámetros de entrada y no a los valores que está devolviendo.Aún más útil, si tiene múltiples parámetros, puede acceder a cualquiera / a todos ellos con:
Siempre debe hacer referencia a todos los argumentos, para que coincida con la firma del método, incluso si solo va a usar uno de ellos.
fuente
ReturnsAsynctambién.El
Returns<T>método genérico puede manejar esta situación muy bien.O si el método requiere múltiples entradas, especifíquelas así:
fuente