Eu tenho um método em uma interface:
string DoSomething(string whatever);
Quero zombar disso com o MOQ, para que ele retorne o que foi passado - algo como:
_mock.Setup( theObject => theObject.DoSomething( It.IsAny<string>( ) ) )
.Returns( [the parameter that was passed] ) ;
Alguma ideia?
IReturns
em Moq, ele defineReturns
para 4 argumentos, no máximo . Existe uma maneira fácil de contornar isso? / Quero dizer, exceto modificar fonte Moq /Moq
v4.0.0.0
. resolvido :).Returns<string>
refere-se aos parâmetros de entrada e não aos valores que você está retornando.Ainda mais útil, se você tiver vários parâmetros, poderá acessar qualquer um / todos eles com:
Você sempre precisa fazer referência a todos os argumentos, para corresponder à assinatura do método, mesmo se for usar apenas um deles.
fonte
ReturnsAsync
também!O
Returns<T>
método genérico pode lidar com essa situação perfeitamente.Ou, se o método exigir várias entradas, especifique-as da seguinte forma:
fonte