我们有一些代码向 log4net 发出消息,并且希望在 xUnit 下对该代码运行测试时看到发出相同的消息。
有没有办法告诉 xUnit 启动 log4net?我已经修改了 xunit.console 的 .config 文件,它运行良好,但没有任何日志记录活动的迹象。
一般在单元测试log4net日志调用时,会这样使用MemoryAppender :
private MemoryAppender testAppender;
[SetUp]
public void SetUp()
{
testAppender = new MemoryAppender();
BasicConfigurator.Configure(testAppender);
// etc
}
[Test]
public void TestLogging()
{
// etc
var events = testAppender().GetEvents();
Assert.AreEqual(1, events.Count());
}
Run Code Online (Sandbox Code Playgroud)