12

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

类似于以下内容:

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

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

4

1 回答 1

16

我假设您在调用该方法时实际上是在尝试在您的 Mock 上执行新的 Setup() ?如果是这样,您应该能够通过回调来做到这一点,如下所示:

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

这很丑陋,但它应该可以解决问题。

于 2012-04-10T14:43:14.607 回答