Respuestas:
La API del árbol de expresión subyacente no admite argumentos opcionales.
Para el código compilado por IL, el compilador de C # inserta los valores predeterminados en el momento de la compilación (codificado), porque el CLR no admite métodos de llamada con argumentos opcionales cuando los argumentos no se proporcionan explícitamente.
Tenía el mismo mensaje cuando intentaba usar Mock.setup para burlarse de un método con múltiples parámetros predeterminados. Solo tenía que agregar los parámetros adicionales en la lambda.
void someMethod(string arg1 = "", string arg2 = "")
mockedObject.Setup(x => x.someMethod(It.IsAny<string>(), It.IsAny<string>()))
It.IsAny<object>
. Básicamente me faltaba un parámetro parasomeMethod()
x.someMethod(default,default)
... se puede usar.