首页 > 解决方案 > 通过 Nlog C# 在单元测试中检查日志消息

问题描述

我正在寻找一种通过使用来测试日志消息的方法Nlog

通常,我所有的课程都有一个私人成员_logger

前任:

using NLog;
public class MyClass {
    private readonly Logger _logger;
    public MyClass(){
        this._logger = LogManager.GetCurrentClassLogger();
    }
}

每当我需要记录消息时,我会打电话给

_logger.info('message')

由于 C# 不允许我动态注入 Log 对象,我想知道如何在单元测试中测试消息?我正在以某种方式思考。

[TestMethod]
public void TestLogMessage() {
    var testGerrits = MyClass();
    // mock the logger?
    Assert.AreEqual(logger[0], "expected message");
}

标签: c#.netunit-testingmocking.net-4.0

解决方案


推荐阅读