Also ich hatte dies funktioniert, ive auf Paket umgestellt und ich denke, einige Versionen von DLLs haben sich geändert.LoggerName bereits in Verwendung
Allerdings verstehe ich immer noch nicht den Fehler, den ich bekomme.
System.ArgumentException : LoggerName already in use
Parameter name: loggerName
mein Code ist im Grunde genau so, wie es hier
isthttp://www.tomdupont.net/2015/06/capture-xunit-test-output-with-nlog-and.html
public class NLogTests : IDisposable
{
private readonly ILogger _logger;
public NLogTests(ITestOutputHelper outputHelper)
{
_logger = outputHelper.GetNLogLogger();
}
public void Dispose()
{
_logger.RemoveTestOutputHelper();
}
[Fact]
public void Hello()
{
_logger.Trace("World Trace");
_logger.Debug("World Debug");
_logger.Warn("World Warn");
_logger.Error("World Error");
}
}
und Config
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
throwExceptions="true">
<extensions>
<add assembly="xunit.NLog" />
</extensions>
<targets async="false">
<target xsi:type="TestOutput"
layout="${time}|${level:uppercase=true}|${logger}|${message}"
name="Test" />
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="Test" />
</rules>
</nlog>
Die GetNLogLogger
Methode hat eine Überlastung, die einen Logger Namen hat und ein Bool für inkrementelle Suffixe. Diese zu verwenden, hilft nicht.
Ich bin wirklich verwirrt.
Stacktrace:
System.ArgumentException
LoggerName already in use
Parameter name: loggerName
at Xunit.NLog.Targets.TestOutputTarget.Add(ITestOutputHelper testOutputHelper, String loggerName)
at Xunit.NLog.Helpers.TestOutputHelpers.AddTestOutputHelper(ITestOutputHelper testOutputHelper, String loggerName, Boolean addNumericSuffix)
at Xunit.NLogTestOutputExtensions.GetNLogLogger(ITestOutputHelper testOutputHelper, String loggerName, Boolean addNumericSuffix)
at ProjectRake.BusinessLogic.Spec.TautologiesToVerifyNLogOutput..ctor(ITestOutputHelper outputHelper) in M:\programming\ProjectRake\src\server\ProjectRake.BusinessLogic.Spec\TautologiesToVerifyNLogOutput.cs:line 19
edit: haben alle xunit Sachen 2.1.0, gleiches Problem herabgestuft.
haben Sie einen Stacktrace? – Julian
hinzugefügt danke;) –
Bibliothek: https://github.com/tdupont750/xunit.NLog – Julian