예제 #1
0
        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));
        }