回答:
基本的な式ツリーAPIは、オプションの引数をサポートしていません。
ILでコンパイルされたコードの場合、C#コンパイラはコンパイル時にデフォルト値を挿入します(ハードコード)。これは、引数が明示的に指定されていない場合でも、CLRはオプションの引数を持つメソッドの呼び出しをサポートしないためです。
Mock.setupを使用して複数のデフォルトパラメータを持つメソッドをモックしようとすると、同じメッセージが表示されました。ラムダにパラメーターを追加する必要がありました。
void someMethod(string arg1 = "", string arg2 = "")
mockedObject.Setup(x => x.someMethod(It.IsAny<string>(), It.IsAny<string>()))
It.IsAny<object>
。基本的に、次のパラメータがありませんでしたsomeMethod()
x.someMethod(default,default)
…...使用できます。