2011-09-10 55 views
0

我得到這個錯誤,而在我的單元測試使用 container.AssertConfigurationIsValid()驗證我的配置Structuremap。結構圖結尾。可以忽略一個類型,而驗證容器

No Default Instance defined for PluginFamily MyComp.IMeasureRepository.

逸岸這個特定的接口我沒有扶養injection.So任何計劃,才能使Stucturemap忽略這個接口,仍然通過我的單元測試。

回答

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

Infact我也這麼做了。但仍然得到相同的錯誤... –