Respostas:
A API da árvore de expressão subjacente não suporta argumentos opcionais.
Para código compilado por IL, o compilador C # insere os valores padrão em tempo de compilação (codificado), porque o CLR não oferece suporte a métodos de chamada com argumentos opcionais quando os argumentos não são fornecidos explicitamente.
Tinha a mesma mensagem ao tentar usar o Mock.setup para simular um método com vários parâmetros padrão. Eu apenas tive que adicionar os parâmetros adicionais no lambda.
void someMethod(string arg1 = "", string arg2 = "")
mockedObject.Setup(x => x.someMethod(It.IsAny<string>(), It.IsAny<string>()))
It.IsAny<object>
. Basicamente, eu estava faltando um parâmetro parasomeMethod()
x.someMethod(default,default)
... pode ser usado.