回答:
次のように、入力パラメーターでラムダを使用できます。
.Returns((string myval) => { return myval; });
または少し読みやすい:
.Returns<string>(x => x);
Moq
4.0.0.0
.Returns<string>
は入力パラメーターを参照し、返される値を参照しません。
さらに便利なのは、複数のパラメーターがある場合、次のようにしてそれらのいずれか/すべてにアクセスできることです。
_mock.Setup(x => x.DoSomething(It.IsAny<string>(),It.IsAny<string>(),It.IsAny<string>())
.Returns((string a, string b, string c) => string.Concat(a,b,c));
メソッドのシグネチャを一致させるために、常に1つの引数のみを使用する場合でも、すべての引数を参照する必要があります。
ReturnsAsync
ます!
IReturns
Moqで検査すると、最大で4つの引数Returns
に対して定義されます。それを回避する簡単な方法はありますか?/ Moqソースの変更を除いて意味します/