Moq, как правильно дразнить набор только свойства

Каков корректный путь к контакту с интерфейсами выставление свойств только для набора с Moq? Ранее я добавил другое средство доступа, но это вышло за край в мой домен слишком далеко со случайным throw new NotImplementedException() операторы повсюду.

Я просто хочу сделать что-то простое как:

mock.VerifySet(view => view.SetOnlyValue, Times.Never());

Но это приводит к ошибке компиляции The property 'SetOnlyValue' has no getter

14
задан Ruben Bartelink 21 July 2010 в 07:46
поделиться

1 ответ

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" );
    }
}
18
ответ дан 1 December 2019 в 13:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: