2012-04-10 12 views
10

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

何か:

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

は、メソッドが

+0

それは確かにすべきです。私はRhinoがこれを行うことを知っています。もしMoqがそうしなければ、それは驚くべきことです。私はこれがちょうど設定方法の混乱または他の使用法の問題であると確信しています。しかし、私はMoqを知らないので、知識のある方に実際に質問に答えさせていただきます。 – KeithS

答えて

13

呼び出されたときに、期待プロパティ値を設定するために部品番号を使用することが可能です私はあなたが、本質的に新しいセットアップを(実行しようとしていると仮定)メソッドが呼び出されたときにあなたのモックに?もしそうなら、あなたはコールバックでそれを行うことができる必要があり、このように:

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

それは醜いですが、それはトリックを行う必要があります。

+2

私はmock.Setup(x => x.Start())を使っていましたが、それをしてくれてありがとうございましたコールバック(>)> mock.Setup(x => x.Enabled).Returns(true)); – Jon

関連する問題