SetupSet ()는 더 이상 사용되지 않습니다. 무엇 대신에?
나중에 사용하기 위해 내 필드에 set 속성을 저장하기 위해 setter에서 콜백을 생성하기 위해 Moq를 사용하고 싶다고 가정 해 보겠습니다. (논문 된 예-그러나 질문의 요점에 도달합니다.) 다음과 같이 할 수 있습니다.
myMock.SetupSet(x => x.MyProperty).Callback(value => myLocalVariable = value);
그리고 그것은 잘 작동합니다. 그러나 Intellisense에 따르면 SetupSet은 더 이상 사용되지 않습니다. 그러나 그것은 대안으로 사용해야 할 것을 말하지 않습니다. moq가 지원 필드로 속성을 자동 연결하는 SetupProperty를 제공한다는 것을 알고 있습니다. 그러나 그것은 내가 찾고있는 것이 아닙니다. 설정 값을 내 변수로 캡처하고 싶습니다. 더 이상 사용되지 않는 방법을 사용하여 어떻게해야합니까?
Moq 버전 3.0.204.1을 사용하고 있으며 사용 SetupSet
하지 않는 것으로 표시되지 않았습니다. 그러나 SetupSet
.NET 에는 몇 가지 과부하가 있습니다 MockLegacyExtensions
. 클래스에 SetupSet
정의 된 사용 및 사용 을 피할 수 있습니다 Mock
.
차이는 미묘 당신은 사용할 필요 Action<T>
로 SetupSet
반대, 매개 변수 Func<T, TProperty>
.
아래 호출은 더 이상 사용되지 않는 오버로드를 호출합니다.
myMock.SetupSet(p => p.MyProperty = It.IsAny<string>()).Callback<string>(value => myLocalVariable = value);
트릭은를 사용 It.IsAny<string>
하는 것인데, 이는 모든 값으로 setter 호출을 가로 챌 것입니다.
참고 URL : https://stackoverflow.com/questions/2950318/setupset-is-obsolete-in-place-of-what
'development' 카테고리의 다른 글
djb2 알고리즘에서 5381과 33이 왜 그렇게 중요한가요? (0) | 2020.12.12 |
---|---|
WiX를 사용하여 Windows 서비스를 설치하고 시작하는 방법 (0) | 2020.12.12 |
지정된 케이스를 처리 할 수없는 경우 switch 문에서 예외 발생 (0) | 2020.12.12 |
PID와 TID의 차이점 (0) | 2020.12.12 |
Node.js / 서버 측 자바 스크립트에서 .NET DLL 사용 (0) | 2020.12.12 |