Ninjectには、単一性の登録インスタンスに対する同等のメソッドがあります。Unity RegisterInstanceメソッドのNinject相当語
モックオブジェクトを作成して登録したいと考えています。
おかげ
Ninjectには、単一性の登録インスタンスに対する同等のメソッドがあります。Unity RegisterInstanceメソッドのNinject相当語
モックオブジェクトを作成して登録したいと考えています。
おかげ
は、ここで簡単な答え
Bind<IMyType>().ToConstant<MyType>(new MyType());
は、だからここに部品番号を使用した例ですです:
var mock = new Mock<IMyType>();
//Setup your mock expectations/etc here.
//...
Bind<IMyType>().ToConstant(mock.Object);
ボーナス答え:
私は何人かの人々が実際に見ているだけされていることがわかります実際に作成するのではなく、特定のクラスのシングルトンインスタンスを作成するそれ自体です(これにより、コンテナを構築するときではなく、何かを要求したときにオブジェクトが作成されます)。これは次のように行われます:あなたのケースでは
Bind<IMyType>.To<MyType>().Using<SingletonBehavior>();
あなたが単語「モック」を言っているので、私はあなたが最初ではなく、第二の答えをしたいと思うと仮定と思いますが、それは知って良いことです。
あなたが使用しているNockのどんな種類のモッキングツール(ある場合)、またはNinjectのバージョンがわかりません。ただし、Ninject 2にはMoq-http://github.com/enkari/ninject.moqとの統合を提供する拡張機能があります。
私はこれがあなたの質問に直接答えていないことを理解しています。Anderson'sはそれをよくしますが、とにかく関連性があると考えました。
ニースを必要とするコードで上記のサンプルを更新しますあなたはMyMock.Objectに渡す必要が –
ええ、よく見えます - それはまだ自分で使っていませんが、すぐにそうしたいと思っています。 –
moqを使用して... var mock = new Mock(); バインド().ToConstant(模擬); ConstantProviderはモックのインスタンスを作成し、私はあなたが –
Ryu
要求されたサービスではなく、モック自体:) –
と互換性がありませんいるでしょう!それは本当に彼が探しているものかもしれません。 –