【发布时间】:2010-06-15 05:24:22
【问题描述】:
我有一个简单的测试:
protected readonly ILog logger = LogManager.GetLogger(MethodBase.GetCurrentMethod().ReflectedType);
private static int count = 0;
[Test]
public void TestConfiguredSuccessfully()
{
logger.Debug("in test method" + count++);
}
log4net 是这样设置的:
[TestFixtureSetUp]
public void SetUp()
{
log4net.Config.BasicConfigurator.Configure();
}
问题是,如果我在 nUnit 中运行一次这个测试,我会得到输出(如预期的那样):
1742 [TestRunnerThread] DEBUG Tests.TestSomthing (null) - in test method0
但是,如果我在 nUnit.exe 中再次(或更多)按 RUN,我会得到以下信息:
1742 [TestRunnerThread] DEBUG Tests.TestSomthing (null) - in test method1
1742 [TestRunnerThread] DEBUG Tests.TestSomthing (null) - in test method1
依此类推(如果我运行 5 次,我会得到 5 个重复行)。现在,如果我从 reSharper 单独运行相同的测试,则输出很好并且不会重复。但是,如果我将此测试与同一类中的其他 2 个测试一起运行,则输出会重复 3 次。
我完全糊涂了。这到底是怎么回事?
【问题讨论】:
标签: c# nunit resharper log4net