public static Mock<ILogger> GetILogger()
{
// 创建一个模拟的 ILogger 实例
var loggerMock = new Mock<Microsoft.Extensions.Logging.ILogger>();
// 配置模拟对象,在调用 Log 方法时打印日志消息到控制台
loggerMock.Setup(x => x.Log(
It.IsAny<LogLevel>(),
It.IsAny<EventId>(),
It.IsAny<object>(),
It.IsAny<Exception>(),
It.IsAny<Func<object, Exception, string>>()
)).Callback<LogLevel, EventId, object, Exception, Func<object, Exception, string>>((logLevel, eventId, state, exception, formatter) =>
{
Console.WriteLine($"[{logLevel}] - {formatter(state, exception)}");
});
return loggerMock;
}
评论已关闭