12

メソッドが呼び出されたときに Moq を使用してプロパティを割り当てようとしています。

次のようなもの:

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

メソッドが呼び出されたときに Moq を使用して、期待されるプロパティ値を設定することは可能ですか?

4

1 に答える 1

16

メソッドが呼び出されたときに、モックで新しい 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 に答える