0
使用autofac將我的依賴注入到我的類中。其中幾個類都實現了相同的接口。我註冊他們這樣autofac從同一接口繼承的多個類
builder.RegisterType<PDFHedgeReport<object>>().As<IPDFReport<object>>().InstancePerDependency();
builder.RegisterType<PDFRefVolReport<object>>().As<IPDFReport<object>>().InstancePerDependency();
然後在我的類的構造函數我有這個
public ReportGenerationService(IScheduleRepository scheduleRepository,
ExportEngine.PDF.IPDFReport<object> pdfHedgeReport,
ExportEngine.PDF.IPDFReport<object> pdfRefVolReport,
)
{
this._scheduleRepository = scheduleRepository;
this._pdfHedgeReport = pdfHedgeReport;
this._pdfRefVolReport = pdfRefVolReport;
}
當代碼運行
,錯誤的類被訪問,碼IM測試的特定分支應該使用這個類
pdfHedgeReport
但其實際使用這一個pdfRefVolReport
這行代碼導致了問題
var result = await this._pdfHedgeReport.GenerateReportForEmail(hedgeRequest, reportTitle, reportDescription, rpt);
它不是實際被訪問pdfHedgereport類多數民衆贊成,其pdfRefVolReport
所以我在註冊這些與autofac走錯了路?
工作完美,非常感謝你 – proteus