Відповіді:
Основне вираз дерева 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)
може використовуватися ... ...