【发布时间】:2016-04-15 11:17:01
【问题描述】:
我有这样的课:
public class LoggedFoo
{
private readonly ILog _logger;
public LoggedFoo(ILog logger)
{
this._logger = logger;
}
public DoStuff()
{
this._logger.Info(i => i("Doing stuff..."));
}
}
业务需求之一是某些功能正在生成日志,所以自然要模拟出ILog来验证。
但是,Common.Logging 库支持基于类型的记录器,如下所示:
var logger = LogManager.GetLogger<LoggedFoo>();
...或:
var logger = LogManager.GetLogger(typeof(LoggedFoo));
问题是,我们使用 AutoFac 进行依赖注入,我不知道如何根据要为注入而实例化的类来实例化 ILog。
我该怎么写?我正在使用最新的 Nuget 版本的 AutoFac。
【问题讨论】:
标签: c# unit-testing dependency-injection mocking autofac