Каков корректный путь к контакту с интерфейсами выставление свойств только для набора с Moq? Ранее я добавил другое средство доступа, но это вышло за край в мой домен слишком далеко со случайным throw new NotImplementedException()
операторы повсюду.
Я просто хочу сделать что-то простое как:
mock.VerifySet(view => view.SetOnlyValue, Times.Never());
Но это приводит к ошибке компиляции The property 'SetOnlyValue' has no getter
public class Xyz
{
public virtual string AA { set{} }
}
public class VerifySyntax
{
[Fact]
public void ThisIsHow()
{
var xyz = new Mock<Xyz>();
xyz.Object.AA = "bb";
// Throws:
xyz.VerifySet( s => s.AA = It.IsAny<string>(), Times.Never() );
}
}
public class SetupSyntax
{
[Fact]
public void ThisIsHow()
{
var xyz = new Mock<Xyz>();
xyz.SetupSet( s => s.AA = It.IsAny<string>() ).Throws( new InvalidOperationException( ) );
Assert.Throws<InvalidOperationException>( () => xyz.Object.AA = "bb" );
}
}