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

本文关键字:分配 属性 方法 Moq 调用 使用 | 更新日期: 2023-09-27 18:30:32

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

大致如下:

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

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

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

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

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

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