답변:
다음과 같이 입력 매개 변수와 함께 람다를 사용할 수 있습니다.
.Returns((string myval) => { return myval; });
또는 약간 더 읽기 쉽습니다.
.Returns<string>(x => x);
Moq
4.0.0.0
.Returns<string>
점이 혼란 스러울 때 참고 사항 : 문자열 입력은 반환하는 값이 아니라 입력 매개 변수 를 나타냅니다.
더 유용한 것은 여러 매개 변수가있는 경우 다음을 사용하여 모든 매개 변수에 액세스 할 수 있습니다.
_mock.Setup(x => x.DoSomething(It.IsAny<string>(),It.IsAny<string>(),It.IsAny<string>())
.Returns((string a, string b, string c) => string.Concat(a,b,c));
메소드 중 하나만 사용하더라도 메소드의 서명과 일치하도록 항상 모든 인수를 참조해야합니다.
ReturnsAsync
!
IReturns
MOQ에, 그것은 정의Returns
에 대한 대부분의에서 4 개 인수 . 그 문제를 해결하는 쉬운 방법이 있습니까? / 나는 Moq 소스 수정을 제외하고 //