调用方法时使用Moq分配属性值

时间:2012-04-10 14:32:40

标签: c# .net unit-testing moq

我正在尝试使用Moq在调用方法时分配属性。

有些事情:

Mock<ITimer> mock = new Mock<ITimer>();
mock.Setup(x=>x.Start()).AssignProperty(y=>y.Enabled = true);

在调用方法时,是否可以使用Moq设置预期的属性值

1 个答案:

答案 0 :(得分:14)

我假设你在调用方法时试图在Mock上实际执行一个新的Setup()?如果是这样,您应该可以使用回调来执行此操作,如下所示:

Mock<ITimer> mock = new Mock<ITimer>();
mock.Setup(x=>x.Start()).Callback(() => mock.SetupGet(y => y.Enabled).Returns(true));

这很难看,但它应该可以解决问题。