다음 인터페이스가 제공됩니다.
public interface IFoo
{
bool Foo(string a, bool b = false);
}
Moq를 사용하여 모의 시도 :
var mock = new Mock<IFoo>();
mock.Setup(mock => mock.Foo(It.IsAny<string>())).Returns(false);
컴파일 시간에 다음 오류를 제공합니다.
표현식 트리는 선택적 인수를 사용하는 호출 또는 호출을 포함 할 수 없습니다.
위의 문제 가 Moq의 문제 목록에서 개선 된 것으로 제기되었으며 4.5 릴리스에 할당 된 것으로 보입니다 (그럴 때마다).
내 질문은 위의 내용이 곧 수정되지 않을 경우 어떻게해야합니까? 내가 모의 할 때마다 선택적 매개 변수의 기본값을 명시 적으로 설정하거나 (처음에 하나를 지정하는 점을 무너 뜨리는) 부울없이 오버로드를 생성하는 옵션 만 있습니까 (내가했던 것처럼 C # 4 이전)?
아니면이 문제를 극복하기 위해 더 현명한 방법을 찾은 사람이 있습니까?