Мне нужно издеваться над интерфейсом, который имеет свойства типа «ushort» только для чтения. Похоже, nSubstitute не позволяет мне устанавливать эти свойства. открытый интерфейс IExampleInterface { ushort ID {получить; } ...... }
IExampleInterface mockObject = Substitute.For<IExampleInterface>();
mockObject.ID.Returns(0x12); /// not allowed. error:
/// ushort does not contain a definition for 'Returns'
/// and the best extension method overload
/// 'SubstituteExtensions.Returns<int>(int, int, params int[])'
/// requires a receiver of type 'int'
mockObject.ID = 0x12; /// not allowed
Если я изменю строку на следующую, она, похоже, сработает.
(int)mockObject.ID).Returns(0x12);
Это правильный способ обойти исходную ошибку?
string Name { get; }
? ТогдаmockObject.Name.Returns("ABC");
работает. - person Alexander Petrov   schedule 21.07.2020