Я использую Moq версии 3.0.204.1, а SetupSet
не помечен как устаревший для меня. Однако есть пара SetupSet
перегрузок, расположенных в 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>
, который будет перехватывать вызов сеттера с любым значением.