2009-08-11 17 views

cevap

13

İşte Yani burada basit bir cevabı

Bind<IMyType>().ToConstant<MyType>(new MyType()); 

var Moq kullanarak bir örnek:

var mock = new Mock<IMyType>(); 
//Setup your mock expectations/etc here. 
//... 
Bind<IMyType>().ToConstant(mock.Object); 

Bonus cevap: Bazı insanlar aslında sadece aradığınız bulmak

aslında oluşturmaktan ziyade belirli bir sınıfın tekil bir örneğini oluşturmak için kendileri (bu, nesnenin bir şey istendiğinde oluşturulmasına izin verir, kapsayıcınızı oluştururken değil). Eğer kelime "sahte", sana yerine ikinci cevap daha ilk isterdim varsayalım söyledi beri, Senin durumunda

Bind<IMyType>.To<MyType>().Using<SingletonBehavior>(); 

, ama bilmen gereken iyi bir şeydir: Bu böyle yapılır.

+0

... var mock = new Mock (); Bind () .ToConstant (alay); ConstantProvider Eğer MyMock.Object geçmek gerekir istenen hizmetin – Ryu

+0

ile uyumlu değildir Mock bir örneğini, yaratacak, değil sahte kendini :) –

+0

Ben kodu ile yukarıdaki örnek güncelleyecektir Eğer –

2

Kullandığınız Ninpping ne tür alay aracının veya sürümünün ne olduğundan emin değilsiniz; Ancak, Ninject 2'nin Moq - http://github.com/enkari/ninject.moq ile entegrasyon sağlayan bir uzantıya sahip olduğundan bahsetmeye değer.

Bunun doğrudan sizin sorunuza cevap vermediğini anlıyorum, Anderson's o kadar iyi, ama yine de alakalı olabileceğini düşündüm. Moq kullanarak

+0

Nice, gerek! Gerçekten aradığı şey bu olabilir. –

+0

Evet, iyi görünüyor - henüz kullanmadım, ama yakında bunu yapmak için. –