public void Test(NLogLogLevel logLevel, Enyim.LogLevel enyimLevel, string message, Exception exception) { var mock = new Moq.Mock <NLog.Targets.TargetWithContext>(MockBehavior.Loose) { CallBase = true }; var config = new NLog.Config.LoggingConfiguration(); config.AddRuleForAllLevels(mock.Object); LogManager.AssignFactory(new Enyim.Diagnostics.NLogLoggerFactory(new NLog.LogFactory(config))); LogManager.Create(typeof(NLogAdapterTests)).Log(enyimLevel, exception, message); mock.Protected().Verify("Write", Times.Once(), ItExpr.Is <LogEventInfo>(info => info.Level == logLevel && info.Message == message && info.Exception == exception)); }