使用Moq处理公开的仅设置属性的接口的正确方法是什么?以前我已经添加了另一个访问者,但这已经渗透到我的域太远了随机throw new NotImplementedException()语句.
我只是想做一些简单的事情:
mock.VerifySet(view => view.SetOnlyValue, Times.Never());
但这会产生编译错误 The property 'SetOnlyValue' has no getter
Rub*_*ink 18
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" );
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9173 次 |
| 最近记录: |