【发布时间】:2011-07-10 08:23:19
【问题描述】:
我是 Moq 的新手,我想知道如果“Bounds”属性未声明为虚拟,我该如何编写以下测试。
[TestMethod]
public void SettingSize_Sets_Bounds_ExactlyOnce()
{
// given
var mock = new Mock<Visual>();
var anonymSize = DrawingHelper.AnonymousSize();
// when
mock.Object.Size = anonymSize;
// then
mock.VerifySet(visual => visual.Bounds = new Rectangle(DrawingHelper.Origin(),anonymSize), Times.Once());
}
为了提供一点上下文,Visual 类实现了 IVIsual 接口,其中声明了 Bounds 属性。因此,我可以使用该接口来创建 Mock 对象,但我不知道应该如何更改上述测试以仍然测试具体 IVisual 实现者(Visual 类)的行为。
具体来说,我想确保在设置属性Size时,也设置非虚拟属性Bounds。
起订量可以做到这一点吗?如果不是,有哪些框架可以做到这一点?
【问题讨论】:
标签: c# .net unit-testing moq