2012-04-10 18 views
10

Bir yöntem çağrıldığında özellik atamak için Moq'yi kullanmaya çalışıyorum. çizgisindeYöntem çağrıldığında özellik değerini atamak için Moq kullanma

şey:

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

bir yöntem

+0

Kesinlikle öyle olmalı. Rhino'nun bunu yapacağını biliyorum, eğer Moq olmazsa şaşırtıcı olur. Eminim bu sadece bir yapılandırma yöntemi karışımı veya başka bir kullanım sorunu. Ancak, Moq'u bilmiyorum, böylece birisinin daha bilgili olmasına gerçekten soruya cevap vermesine izin vereceğim. – KeithS

cevap

13

çağrıldığında mümkün ben aslında (yeni bir kurulum gerçekleştirmek için çalışıyoruz varsayalım beklenen özellik değerini ayarlamak için Moq kullanmak mı) yöntem çağrıldığında Mock üzerinde? Bu çirkin

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

, ancak hile yapmak gerekir: Eğer öyleyse, böyle bir geri arama ile bunu yapmak mümkün olmalıdır.

+2

Ben mock.Setup (x => x.Start()) ile gittim rağmen yaptı. Geri arama (() => mock.Setup (x => x.Enabled) .Returns (doğru)); – Jon

İlgili konular