From 10c4e3e5256e5fbbfc3fe58af5b2880a05bf9031 Mon Sep 17 00:00:00 2001 From: dudu Date: Sun, 12 Feb 2023 09:05:59 +0800 Subject: [PATCH] test: add a test case for AddSerilog --- .../Serilog.Extensions.Hosting.Tests.csproj | 10 +++++- .../SerilogLoggingBuilderExtensionsTests.cs | 32 +++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 test/Serilog.Extensions.Hosting.Tests/SerilogLoggingBuilderExtensionsTests.cs diff --git a/test/Serilog.Extensions.Hosting.Tests/Serilog.Extensions.Hosting.Tests.csproj b/test/Serilog.Extensions.Hosting.Tests/Serilog.Extensions.Hosting.Tests.csproj index 38aa2a6..daf9720 100644 --- a/test/Serilog.Extensions.Hosting.Tests/Serilog.Extensions.Hosting.Tests.csproj +++ b/test/Serilog.Extensions.Hosting.Tests/Serilog.Extensions.Hosting.Tests.csproj @@ -8,6 +8,7 @@ true true latest + enable @@ -19,8 +20,15 @@ - + + + + + + + + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/test/Serilog.Extensions.Hosting.Tests/SerilogLoggingBuilderExtensionsTests.cs b/test/Serilog.Extensions.Hosting.Tests/SerilogLoggingBuilderExtensionsTests.cs new file mode 100644 index 0000000..0e6b58a --- /dev/null +++ b/test/Serilog.Extensions.Hosting.Tests/SerilogLoggingBuilderExtensionsTests.cs @@ -0,0 +1,32 @@ +using Microsoft.AspNetCore.Builder; +using Microsoft.AspNetCore.TestHost; +using Microsoft.Extensions.Logging; +using Serilog.Sinks.InMemory; +using Serilog.Sinks.InMemory.Assertions; +using Xunit; + +namespace Serilog.Extensions.Hosting.Tests; + +public class SerilogLoggingBuilderExtensionsTests +{ + [Fact] + public async Task LoggingBuilderExtensions_AddSerilog_SuccessAsync() + { + // Arrange + var builder = WebApplication.CreateBuilder(); + var logger = new LoggerConfiguration() + .WriteTo.InMemory() + .CreateLogger(); + builder.Logging.AddSerilog(logger); + builder.WebHost.UseTestServer(); + var app = builder.Build(); + + // Act + var message = "Hello World!"; + app.Logger.LogInformation("Hello World!"); + await app.StartAsync(); + + // Assert + InMemorySink.Instance.Should().HaveMessage(message); + } +} \ No newline at end of file