Risposte:
L' API dell'albero delle espressioni sottostante non supporta argomenti facoltativi.
Per il codice compilato con IL, il compilatore C # inserisce i valori predefiniti al momento della compilazione (hard-coded), poiché CLR non supporta i metodi di chiamata con argomenti facoltativi quando gli argomenti non vengono forniti in modo esplicito.
Aveva lo stesso messaggio quando cercavo di usare Mock.setup per deridere un metodo con più parametri predefiniti. Ho dovuto solo aggiungere i parametri aggiuntivi nella lambda.
void someMethod(string arg1 = "", string arg2 = "")
mockedObject.Setup(x => x.someMethod(It.IsAny<string>(), It.IsAny<string>()))
It.IsAny<object>
. Fondamentalmente mi mancava un parametro persomeMethod()
x.someMethod(default,default)
possibile utilizzare anche ... ...