2011-09-10 8 views
0

私のUnitTestに container.AssertConfigurationIsValid()を使用してStructure Map構成を検証しているときにこのエラーが発生しました。私は依存関係injection.Soのための計画を持っていけない、この特定のインターフェイスのための構造マップ。コンテナの検証中にタイプを無視する

No Default Instance defined for PluginFamily MyComp.IMeasureRepository.

Infactは我々がStucturemapは、このインターフェイスを無視して、まだ私のunittestのを渡すことができます。

答えて

1

StructureMapに登録されている他のものは、おそらくIMeasureRepositoryが依存しています。 StructureMapはその依存関係をどのように満たすかを知る必要があります。

+0

ええと..ちょっと見落としました... –

+0

だからAssertConfigurationIsValidはその仕事をしていました。それはまさにそれが存在する理由です。あなたが見落としたものを探し出すことです。それを信じて! –

+0

ええと。それはクールです...私はそれを今信じて.... –

0

私は、インターフェイスがスキャンの一部として登録されており、ctor引数として登録されていないことを示しています。スキャン中は、アセンブリ、名前空間、タイプを選択的に含めるか除外できます。

スキャン設定で ExcludeType<IMeasureRepository>()を使用できるはずです。

例:

ObjectFactory.Initialize(c => 
    { 
     c.Scan(scan => 
      { 
       scan.TheCallingAssembly(); 
       scan.WithDefaultConventions(); 
       scan.ExcludeType<IMeasureRepository>(); 
      }); 
    }); 

は詳細についてScan documentationを参照してください。

+1

私は同じことをしました。しかし、まだ同じエラーが発生しています... –

関連する問題