小智 9
使用Nuget: install-package NLog.Interface
然后: ILogger logger = new LoggerAdapter([logger-from-NLog]);
您只能模拟虚拟方法。但是,如果您创建一些用于日志记录的接口,然后使用 NLog 实现它,您可以使用依赖项注入,并在您的测试中使用模拟接口来查看被测系统 (SUT) 是否正在记录您期望它记录的内容。
public class SUT
{
private readonly ILogger logger;
SUT(ILogger logger) { this.logger = logger;}
MethodUnderTest() {
// ...
logger.LogSomething();
// ...
}
}
// and in tests
var mockLogger = new MockLogger();
var sut = new SUT(mockLogger);
sut.MethodUnderTest();
Assert.That("Expected log message", Is.Equal.To(mockLogger.LastLoggedMessage));
| 归档时间: |
|
| 查看次数: |
2429 次 |
| 最近记录: |