Как мне Moq метод, который имеет необязательный аргумент в своей подписи без явного указания его или использования перегрузки?

Учитывая следующий интерфейс:

public interface IFoo
{
    bool Foo(string a, bool b = false);
}

Попытка издеваться над ним с помощью Moq:

var mock = new Mock();
mock.Setup(mock => mock.Foo(It.IsAny())).Returns(false);

выдает следующую ошибку во время компиляции:

Дерево выражений не может содержать вызов или вызов, использующий необязательные аргументы I '

мы нашли вышеупомянутую проблемуусиление в Мокs список вопросов, и он, кажется, назначен на выпуск 4.5 (когда бы то ни было).

Мой вопрос: что мне делать, если вышеизложенное не будет исправлено в ближайшее время? Могут ли мои варианты только явно задавать значение по умолчанию для необязательного параметра каждый раз, когда я его высмеиваю (что побуждает вообще указывать один из них), или создавать перегрузку без bool (как я бы сделал) до C # 4)?

Или кто-нибудь сталкивался с более умным способом преодолеть эту проблему?

Ответы на вопрос(2)

Ваш ответ на вопрос