Skip to content

Commit 10c4e3e

Browse files
committed
test: add a test case for AddSerilog
1 parent e88ec93 commit 10c4e3e

File tree

2 files changed

+41
-1
lines changed

2 files changed

+41
-1
lines changed

test/Serilog.Extensions.Hosting.Tests/Serilog.Extensions.Hosting.Tests.csproj

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
<PublicSign Condition=" '$(OS)' != 'Windows_NT' ">true</PublicSign>
99
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
1010
<LangVersion>latest</LangVersion>
11+
<ImplicitUsings>enable</ImplicitUsings>
1112
</PropertyGroup>
1213

1314
<PropertyGroup Condition=" '$(TargetFramework)' == 'net4.8' ">
@@ -19,8 +20,15 @@
1920
</ItemGroup>
2021

2122
<ItemGroup>
22-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="7.0.0" />
23+
<FrameworkReference Include="Microsoft.AspNetCore.App" />
24+
</ItemGroup>
25+
26+
<ItemGroup>
27+
<PackageReference Include="FluentAssertions" Version="6.10.0" />
28+
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="7.0.2" />
2329
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
30+
<PackageReference Include="Serilog.Sinks.InMemory" Version="0.11.0" />
31+
<PackageReference Include="Serilog.Sinks.InMemory.Assertions" Version="0.11.0" />
2432
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.5">
2533
<PrivateAssets>all</PrivateAssets>
2634
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
using Microsoft.AspNetCore.Builder;
2+
using Microsoft.AspNetCore.TestHost;
3+
using Microsoft.Extensions.Logging;
4+
using Serilog.Sinks.InMemory;
5+
using Serilog.Sinks.InMemory.Assertions;
6+
using Xunit;
7+
8+
namespace Serilog.Extensions.Hosting.Tests;
9+
10+
public class SerilogLoggingBuilderExtensionsTests
11+
{
12+
[Fact]
13+
public async Task LoggingBuilderExtensions_AddSerilog_SuccessAsync()
14+
{
15+
// Arrange
16+
var builder = WebApplication.CreateBuilder();
17+
var logger = new LoggerConfiguration()
18+
.WriteTo.InMemory()
19+
.CreateLogger();
20+
builder.Logging.AddSerilog(logger);
21+
builder.WebHost.UseTestServer();
22+
var app = builder.Build();
23+
24+
// Act
25+
var message = "Hello World!";
26+
app.Logger.LogInformation("Hello World!");
27+
await app.StartAsync();
28+
29+
// Assert
30+
InMemorySink.Instance.Should().HaveMessage(message);
31+
}
32+
}

0 commit comments

Comments
 (0)